#1279 Work in Progress: API Documentation (doxygen)

This commit is contained in:
Robin Mills 2017-03-16 09:09:31 +00:00
parent 11993b3b55
commit 199820576d
5 changed files with 92 additions and 26 deletions

View File

@ -363,16 +363,57 @@ namespace Exiv2 {
}; // class IptcKey
typedef std::map<std::string,std::string> Dictionary ,*Dictionary_p;
typedef std::map<std::string,std::string>::const_iterator Dictionary_i ;
typedef std::set<std::string> StringSet ,*StringSet_p;
typedef std::set<std::string>::const_iterator StringSet_i ;
typedef std::vector<std::string> StringVector ,*StringVector_p;
typedef std::vector<std::string>::const_iterator StringVector_i;
typedef std::vector<uint32_t> Uint32Vector ,*Uint32Vector_p;
typedef std::vector<uint32_t>::const_iterator Uint32Vector_i;
typedef std::vector<uint32_t> Uint32Vector ,*Uint32Vector_p;
typedef std::vector<uint32_t>::const_iterator Uint32Vector_i;
/*!
@brief typedef for string:string map
*/
typedef std::map<std::string,std::string> Dictionary;
/*!
@brief typedef for Dictionary*
*/
typedef Dictionary* Dictionary_p;
/*!
@brief typedef for Dictionary iterator
*/
typedef Dictionary::const_iterator Dictionary_i;
/*!
@brief typedef for string set (unique strings)
*/
typedef std::set<std::string> StringSet;
/*!
@brief typedef for StringSet*
*/
typedef StringSet* StringSet_p;
/*!
@brief Class to provide a StringSet iterator
*/
typedef std::set<std::string>::const_iterator StringSet_i;
/*!
@brief typedef for string vector
*/
typedef std::vector<std::string> StringVector;
/*!
@brief typedef for StringVector pointer
*/
typedef StringVector* StringVector_p;
/*!
@brief Class to provide a StringVector iterator
*/
typedef StringVector::const_iterator StringVector_i;
/*!
@brief typedef for uint32_t vector
*/
typedef std::vector<uint32_t> Uint32Vector ;
/*!
@brief typedef for Uint32Vector pointer
*/
typedef Uint32Vector* Uint32Vector_p;
/*!
@brief typedef for Uint32Vector iterator
*/
typedef Uint32Vector::const_iterator Uint32Vector_i;
// *****************************************************************************

View File

@ -30,6 +30,9 @@ namespace Exiv2 {
#ifdef _MSC_VER
// Visual Studio 2013 and later use SRWLOCK
#if _MSC_VER >= 1800
/*!
@brief Class to provide a Read-Write Lock
*/
class RWLock
{
public:
@ -77,6 +80,9 @@ namespace Exiv2 {
SRWLOCK rwlock_;
};
#else
/*!
@brief Class to provide a Read-Write Lock
*/
// Visual Studio 2005,8,10,12 use CRITICAL_SECTION
class RWLock
{
@ -130,6 +136,9 @@ namespace Exiv2 {
#endif
#else
/*!
@brief Class to provide a Read-Write Lock
*/
// UNIX systems (including MinGW and Cygwin)
class RWLock
{
@ -177,6 +186,10 @@ namespace Exiv2 {
};
#endif
/*!
@brief Class to provide a ScopedReadLock.
The lock is applied by the constructor and released by the destructor.
*/
class ScopedReadLock
{
public:
@ -192,6 +205,10 @@ namespace Exiv2 {
RWLock &rwlock_;
};
/*!
@brief Class to provide a ScopedWriteLock.
The lock is applied by the constructor and released by the destructor.
*/
class ScopedWriteLock
{
public:

View File

@ -18,25 +18,21 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
*/
/*!
@file utilsvideo.hpp
@brief An Image subclass to support RIFF video files
@version $Rev$
Mahesh Hegde 2014
<b href="mailto:maheshmhegade@gmail.com">maheshmhegade@gmail.com</b>
@date 16-Aug-14, AB: created
*/
#include "tags_int.hpp"
namespace Exiv2
{
class UtilsVideo
{
public:
static bool compareTagValue(Exiv2::DataBuf &buf, const char *str);
static bool compareTagValue(Exiv2::DataBuf& buf,const char arr[][5],int32_t arraysize);
static bool simpleBytesComparison(Exiv2::DataBuf& buf ,const char* str,int32_t size);
}; // class UtilsVideo
/*!
@brief Class of utility functions used by the video code.
*/
class UtilsVideo
{
public:
static bool compareTagValue(Exiv2::DataBuf &buf, const char *str);
static bool compareTagValue(Exiv2::DataBuf& buf,const char arr[][5],int32_t arraysize);
static bool simpleBytesComparison(Exiv2::DataBuf& buf ,const char* str,int32_t size);
}; // class UtilsVideo
} // namespace Exiv2

View File

@ -41,18 +41,30 @@
#if __cplusplus >= CPLUSPLUS11
# include <regex>
/*!
@brief exv_grep_keys_t is a vector of keys to match to strings
*/
typedef std::vector<std::regex> exv_grep_keys_t ;
#else
# if EXV_HAVE_REGEX
# include <regex.h>
/*!
@brief exv_grep_keys_t is a vector of keys to match to strings
*/
typedef std::vector<regex_t> exv_grep_keys_t ;
# else
/*!
@brief exv_grep_key_t is a simple string and the ignore flag
*/
struct Exiv2_grep_key_t {
Exiv2_grep_key_t(std::string pattern,bool bIgnoreCase)
:pattern_(pattern),bIgnoreCase_(bIgnoreCase) {}
std::string pattern_;
bool bIgnoreCase_;
};
/*!
@brief exv_grep_keys_t is a vector of keys to match to strings
*/
typedef std::vector<Exiv2_grep_key_t> exv_grep_keys_t ;
# endif
#endif

View File

@ -343,7 +343,7 @@ TYPEDEF_HIDES_STRUCT = NO
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols.
SYMBOL_CACHE_SIZE = 0
# SYMBOL_CACHE_SIZE = 0
# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given