Wolframe, 0.0.3

_Wolframe::types Namespace Reference

Basic data types (implemented in the core library libwolframe) More...

Namespaces

 traits
 templates for type dependend characteristics in basic types
 

Classes

class  AddressRestriction
 Structure to define and check configured ip based authorization. More...
 
class  BigNumber
 Type for representing big numbers as binary coded decimal (BCD) numbers. More...
 
class  BigNumberConst
 Constant big number that is not owned by the structure (caller has ownership) More...
 
class  CustomDataInitializer
 Initializer for a custom data value. More...
 
class  CustomDataMethodCallNormalizer
 Normalizer function created from a custom data method call. More...
 
class  CustomDataNormalizer
 Normalizer function created from a custom data type initializer. More...
 
class  CustomDataType
 Custom Data Type Definition. More...
 
class  CustomDataValue
 Custom data value. More...
 
class  DateTime
 Data type for normalized date time (absolute time without time zone info) More...
 
class  DocMetaData
 Document meta data representation. More...
 
class  DoctypeInfo
 Document type information representation created by a document type recognizer. More...
 
struct  Endian
 Class for little/big endian operations. More...
 
class  Form
 Form data structure. More...
 
class  FormDescription
 Description of a form structure. More...
 
class  keymap
 Map with case insensitive strings as keys. More...
 
class  keystring
 Constructor for implementing implicit type reductions in key maps that store the key as upper case string. More...
 
class  NormalizeFunction
 Basic normalization function for atomic values (variant type) More...
 
class  NormalizeFunctionMap
 Map of basic normalization functions for atomic values (variant type) More...
 
class  NormalizeFunctionType
 Class of basic normalization functions instantiated by arguments. More...
 
class  NormalizeResourceHandle
 Base class for resources for normalization functions. More...
 
class  PropertyTree
 Hierarchical data structure for representing configuration data trees. More...
 
class  SecureReference
 Smart pointer template with the intention to hold sensitive data. More...
 
class  SecureString
 String definition with the intention to hold sensitive data. More...
 
class  SharedReference
 Shared reference to an object exchangeable for all owners in a single thread context. More...
 
class  String
 Type for representing strings in various encodings. More...
 
class  StringConst
 Constant string that is not owned by the structure (caller has ownership) More...
 
class  Variant
 Forward declaration. More...
 
class  VariantConst
 Variant value type that represents a variant copy without content ownership. More...
 
class  VariantIndirection
 Variant type as indirection: Variant value is only expanded when referenced. More...
 
class  VariantStruct
 Structure of variant type atoms or substructures. More...
 
class  VariantStructConst
 Variant structure that represents a variant structure copy without content ownership. More...
 
class  VariantStructDescription
 Description of a variant structure as array of attributes and content elements. More...
 
class  VariantUnresolved
 Unresolved indirection. More...
 

Typedefs

typedef boost::shared_ptr
< CustomDataValue
CustomDataValueR
 
typedef boost::shared_ptr
< CustomDataInitializer
CustomDataInitializerR
 
typedef boost::shared_ptr
< CustomDataType
CustomDataTypeR
 
typedef CustomDataType *(* CreateCustomDataType )(const std::string &name)
 
typedef boost::uint64_t Timestamp
 Timestamp equivalent to a date time value for variant type. More...
 
typedef boost::shared_ptr
< DocMetaData
DocMetaDataR
 Shared meta data reference. More...
 
typedef boost::shared_ptr
< DoctypeInfo
DoctypeInfoR
 
typedef boost::shared_ptr
< FormDescription
FormDescriptionR
 
typedef boost::shared_ptr< FormFormR
 shared ownership reference to form data structure More...
 
typedef boost::shared_ptr
< NormalizeFunction
NormalizeFunctionR
 Shared ownership reference to normalization function for atomic values (variant type) More...
 
typedef boost::shared_ptr
< NormalizeResourceHandle
NormalizeResourceHandleR
 
typedef const
NormalizeResourceHandleR &(* 
GetNormalizeResourceHandle )()
 
typedef NormalizeFunction *(* CreateNormalizeFunction )(NormalizeResourceHandle *reshnd, const std::vector< types::Variant > &arg)
 
typedef boost::shared_ptr
< NormalizeFunctionMap
NormalizeFunctionMapR
 Shared ownership reference to map of basic normalization functions for atomic values (variant type) More...
 
typedef boost::shared_ptr
< VariantStructDescription
VariantStructDescriptionR
 

Functions

std::string tostring_cast (_WOLFRAME_UINTEGER val)
 Get the value of an unsigned integer as string (throws on failure) More...
 
std::string tostring_cast (_WOLFRAME_INTEGER val)
 Get the value of a signed integer as string (throws on failure) More...
 
_WOLFRAME_UINTEGER touint_cast (const std::string &val)
 Interprete a string as unsigned integer and return its value (throws on failure) More...
 
_WOLFRAME_INTEGER toint_cast (const std::string &val)
 Interprete a string as signed integer and return its value (throws on failure) More...
 
unsigned int convertBinaryToBCD (const unsigned char *uintptr, unsigned int uintsize, unsigned char *digitsbuf, unsigned int digitsbufsize)
 Convert a large but limited size big endian integer value to a BCD number. More...
 
void convertBCDtoBinary (const unsigned char *digits, unsigned int nofdigits, unsigned char *buf, unsigned int bufsize)
 Convert a large but limited size BCD number to a big endian integer value. More...
 
template<typename UINTTYPE >
unsigned int convertBigEndianUintToBCD (const UINTTYPE &val, unsigned char *digitsbuf, unsigned int digitsbufsize)
 Convert a large but limited size big endian integer value to a BCD number. More...
 
template<typename UINTTYPE >
void convertBCDtoBigEndianUint (const unsigned char *digits, unsigned int nofdigits, UINTTYPE &val)
 Convert a large but limited size BCD number to a big endian integer value. More...
 

Detailed Description

Basic data types (implemented in the core library libwolframe)

Typedef Documentation

typedef CustomDataType*(* _Wolframe::types::CreateCustomDataType)(const std::string &name)
typedef NormalizeFunction*(* _Wolframe::types::CreateNormalizeFunction)(NormalizeResourceHandle *reshnd, const std::vector< types::Variant > &arg)
typedef boost::shared_ptr<DocMetaData> _Wolframe::types::DocMetaDataR

Shared meta data reference.

typedef boost::shared_ptr<DoctypeInfo> _Wolframe::types::DoctypeInfoR
typedef boost::shared_ptr<Form> _Wolframe::types::FormR

shared ownership reference to form data structure

typedef const NormalizeResourceHandleR&(* _Wolframe::types::GetNormalizeResourceHandle)()

Shared ownership reference to map of basic normalization functions for atomic values (variant type)

Shared ownership reference to normalization function for atomic values (variant type)

typedef boost::uint64_t _Wolframe::types::Timestamp

Timestamp equivalent to a date time value for variant type.

Function Documentation

template<typename UINTTYPE >
void _Wolframe::types::convertBCDtoBigEndianUint ( const unsigned char *  digits,
unsigned int  nofdigits,
UINTTYPE &  val 
)

Convert a large but limited size BCD number to a big endian integer value.

Template Parameters
UINTTYPEbig endian integer type
Parameters
[in]digitsBCD digits to convert (integers from 0..9 and NOT ascii '0'..'9')
[in]nofdigitsnumber of digits in 'digits'
[out]valbig integer number
Returns
number of digits in the result (might be 0 for "0")
void _Wolframe::types::convertBCDtoBinary ( const unsigned char *  digits,
unsigned int  nofdigits,
unsigned char *  buf,
unsigned int  bufsize 
)

Convert a large but limited size BCD number to a big endian integer value.

Parameters
[in]digitsBCD digits to convert (integers from 0..9 and NOT ascii '0'..'9')
[in]nofdigitsnumber of digits in 'digits'
[out]bufinteger number (big endian) = conversion result
[in]bufsizesize of 'buf' in bytes
Returns
number of digits in the result (might be 0 for "0")
template<typename UINTTYPE >
unsigned int _Wolframe::types::convertBigEndianUintToBCD ( const UINTTYPE &  val,
unsigned char *  digitsbuf,
unsigned int  digitsbufsize 
)

Convert a large but limited size big endian integer value to a BCD number.

Template Parameters
UINTTYPEbig endian integer type
Parameters
[in]valbig integer number
[out]digitsbufbuffer for digits to fill with the result (integers from 0..9 and NOT ascii '0'..'9')
[in]digitsbufsizeallocation size of 'digitsbuf' in bytes
Returns
number of digits in the result (might be 0 for "0")
unsigned int _Wolframe::types::convertBinaryToBCD ( const unsigned char *  uintptr,
unsigned int  uintsize,
unsigned char *  digitsbuf,
unsigned int  digitsbufsize 
)

Convert a large but limited size big endian integer value to a BCD number.

Parameters
[in]uintptrpointer to integer number (big endian)
[in]uintsizesize of 'uintptr' in bytes
[out]digitsbufbuffer for digits to fill with the result (integers from 0..9 and NOT ascii '0'..'9')
[in]digitsbufsizeallocation size of 'digitsbuf' in bytes
Returns
number of digits in the result (might be 0 for "0")
_WOLFRAME_INTEGER _Wolframe::types::toint_cast ( const std::string &  val)

Interprete a string as signed integer and return its value (throws on failure)

Parameters
[in]valthe number string to convert
Returns
the value as signed integer
std::string _Wolframe::types::tostring_cast ( _WOLFRAME_UINTEGER  val)

Get the value of an unsigned integer as string (throws on failure)

Parameters
[in]valthe unsigned integer value to convert
Returns
the value as string
std::string _Wolframe::types::tostring_cast ( _WOLFRAME_INTEGER  val)

Get the value of a signed integer as string (throws on failure)

Parameters
[in]valthe signed integer value to convert
Returns
the value as string
_WOLFRAME_UINTEGER _Wolframe::types::touint_cast ( const std::string &  val)

Interprete a string as unsigned integer and return its value (throws on failure)

Parameters
[in]valthe number string to convert
Returns
the value as unsigned integer