# Poco

# namespace Dynamic

## Overview

Namespaces: Impl

Classes: Pair, Struct, Var, VarHolder, VarHolderImpl, VarIterator, Visitor

Types Aliases: Array, Deque, List, Vector

Functions: operator !=, operator *, operator *=, operator +, operator +=, operator -, operator -=, operator /, operator /=, operator <, operator <=, operator ==, operator >, operator >=, operator [], structToString

## Namespaces

### namespace Impl

## Classes

### class Pair

Pair allows to define a pair of values.

### class Struct

Struct allows to define a named collection of Var objects.

### class Var

Var allows to store data of different types and to convert between these types transparently.

### class VarHolder

Interface for a data holder used by the Var class.

### class VarHolderImpl

Template based implementation of a VarHolder.

### class VarIterator

VarIterator class.

### class Visitor

VarVisitor class.

## Types Aliases

### Array

using Array = Vector;

### Deque

using Deque = std::deque < Var >;

### List

using List = std::list < Var >;

### Vector

using Vector = std::vector < Var >;

## Functions

### operator !=

inline bool operator != (
const char & other,
const Var & da
);

Inequality operator for comparing Var with char

### operator !=

inline bool operator != (
const Poco::Int8 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::Int8

### operator !=

inline bool operator != (
const Poco::UInt8 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::UInt8

### operator !=

inline bool operator != (
const Poco::Int16 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::Int16

### operator !=

inline bool operator != (
const Poco::UInt16 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::UInt16

### operator !=

inline bool operator != (
const Poco::Int32 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::Int32

### operator !=

inline bool operator != (
const Poco::UInt32 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::UInt32

### operator !=

inline bool operator != (
const Poco::Int64 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::Int64

### operator !=

inline bool operator != (
const Poco::UInt64 & other,
const Var & da
);

Inequality operator for comparing Var with Poco::UInt64

### operator !=

inline bool operator != (
const float & other,
const Var & da
);

Inequality operator for comparing Var with float

### operator !=

inline bool operator != (
const double & other,
const Var & da
);

Inequality operator for comparing Var with double

### operator !=

inline bool operator != (
const bool & other,
const Var & da
);

Inequality operator for comparing Var with bool

### operator !=

inline bool operator != (
const std::string & other,
const Var & da
);

Inequality operator for comparing Var with std::string

### operator !=

inline bool operator != (
const UTF16String & other,
const Var & da
);

Inequality operator for comparing Var with UTF16String

### operator !=

inline bool operator != (
const char * other,
const Var & da
);

Inequality operator for comparing Var with const char*

### operator *

inline char operator * (
const char & other,
const Var & da
);

Multiplication operator for multiplying Var with char

### operator *

inline Poco::Int8 operator * (
const Poco::Int8 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::Int8

### operator *

inline Poco::UInt8 operator * (
const Poco::UInt8 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::UInt8

### operator *

inline Poco::Int16 operator * (
const Poco::Int16 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::Int16

### operator *

inline Poco::UInt16 operator * (
const Poco::UInt16 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::UInt16

### operator *

inline Poco::Int32 operator * (
const Poco::Int32 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::Int32

### operator *

inline Poco::UInt32 operator * (
const Poco::UInt32 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::UInt32

### operator *

inline Poco::Int64 operator * (
const Poco::Int64 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::Int64

### operator *

inline Poco::UInt64 operator * (
const Poco::UInt64 & other,
const Var & da
);

Multiplication operator for multiplying Var with Poco::UInt64

### operator *

inline float operator * (
const float & other,
const Var & da
);

Multiplication operator for multiplying Var with float

### operator *

inline double operator * (
const double & other,
const Var & da
);

Multiplication operator for multiplying Var with double

### operator *=

inline char operator *= (
char & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with char

### operator *=

inline Poco::Int8 operator *= (
Poco::Int8 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::Int8

### operator *=

inline Poco::UInt8 operator *= (
Poco::UInt8 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::UInt8

### operator *=

inline Poco::Int16 operator *= (
Poco::Int16 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::Int16

### operator *=

inline Poco::UInt16 operator *= (
Poco::UInt16 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::UInt16

### operator *=

inline Poco::Int32 operator *= (
Poco::Int32 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::Int32

### operator *=

inline Poco::UInt32 operator *= (
Poco::UInt32 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::UInt32

### operator *=

inline Poco::Int64 operator *= (
Poco::Int64 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::Int64

### operator *=

inline Poco::UInt64 operator *= (
Poco::UInt64 & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with Poco::UInt64

### operator *=

inline float operator *= (
float & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with float

### operator *=

inline double operator *= (
double & other,
const Var & da
);

Multiplication assignment operator for multiplying Var with double

### operator +

inline const Var operator + (
const char * other,
const Var & da
);

Var non-member functions

Addition operator for adding Var to const char*

### operator +

inline char operator + (
const char & other,
const Var & da
);

Addition operator for adding Var to char

### operator +

inline Poco::Int8 operator + (
const Poco::Int8 & other,
const Var & da
);

Addition operator for adding Var to Poco::Int8

### operator +

inline Poco::UInt8 operator + (
const Poco::UInt8 & other,
const Var & da
);

Addition operator for adding Var to Poco::UInt8

### operator +

inline Poco::Int16 operator + (
const Poco::Int16 & other,
const Var & da
);

Addition operator for adding Var to Poco::Int16

### operator +

inline Poco::UInt16 operator + (
const Poco::UInt16 & other,
const Var & da
);

Addition operator for adding Var to Poco::UInt16

### operator +

inline Poco::Int32 operator + (
const Poco::Int32 & other,
const Var & da
);

Addition operator for adding Var to Poco::Int32

### operator +

inline Poco::UInt32 operator + (
const Poco::UInt32 & other,
const Var & da
);

Addition operator for adding Var to Poco::UInt32

### operator +

inline Poco::Int64 operator + (
const Poco::Int64 & other,
const Var & da
);

Addition operator for adding Var to Poco::Int64

### operator +

inline Poco::UInt64 operator + (
const Poco::UInt64 & other,
const Var & da
);

Addition operator for adding Var to Poco::UInt64

### operator +

inline float operator + (
const float & other,
const Var & da
);

Addition operator for adding Var to float

### operator +

inline double operator + (
const double & other,
const Var & da
);

Addition operator for adding Var to double

### operator +=

inline char operator += (
char & other,
const Var & da
);

Addition assignment operator for adding Var to char

### operator +=

inline Poco::Int8 operator += (
Poco::Int8 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::Int8

### operator +=

inline Poco::UInt8 operator += (
Poco::UInt8 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::UInt8

### operator +=

inline Poco::Int16 operator += (
Poco::Int16 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::Int16

### operator +=

inline Poco::UInt16 operator += (
Poco::UInt16 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::UInt16

### operator +=

inline Poco::Int32 operator += (
Poco::Int32 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::Int32

### operator +=

inline Poco::UInt32 operator += (
Poco::UInt32 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::UInt32

### operator +=

inline Poco::Int64 operator += (
Poco::Int64 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::Int64

### operator +=

inline Poco::UInt64 operator += (
Poco::UInt64 & other,
const Var & da
);

Addition assignment operator for adding Var to Poco::UInt64

### operator +=

inline float operator += (
float & other,
const Var & da
);

Addition assignment operator for adding Var to float

### operator +=

inline double operator += (
double & other,
const Var & da
);

Addition assignment operator for adding Var to double

### operator -

inline char operator - (
const char & other,
const Var & da
);

Subtraction operator for subtracting Var from char

### operator -

inline Poco::Int8 operator - (
const Poco::Int8 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::Int8

### operator -

inline Poco::UInt8 operator - (
const Poco::UInt8 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::UInt8

### operator -

inline Poco::Int16 operator - (
const Poco::Int16 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::Int16

### operator -

inline Poco::UInt16 operator - (
const Poco::UInt16 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::UInt16

### operator -

inline Poco::Int32 operator - (
const Poco::Int32 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::Int32

### operator -

inline Poco::UInt32 operator - (
const Poco::UInt32 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::UInt32

### operator -

inline Poco::Int64 operator - (
const Poco::Int64 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::Int64

### operator -

inline Poco::UInt64 operator - (
const Poco::UInt64 & other,
const Var & da
);

Subtraction operator for subtracting Var from Poco::UInt64

### operator -

inline float operator - (
const float & other,
const Var & da
);

Subtraction operator for subtracting Var from float

### operator -

inline double operator - (
const double & other,
const Var & da
);

Subtraction operator for subtracting Var from double

### operator -=

inline char operator -= (
char & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from char

### operator -=

inline Poco::Int8 operator -= (
Poco::Int8 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::Int8

### operator -=

inline Poco::UInt8 operator -= (
Poco::UInt8 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::UInt8

### operator -=

inline Poco::Int16 operator -= (
Poco::Int16 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::Int16

### operator -=

inline Poco::UInt16 operator -= (
Poco::UInt16 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::UInt16

### operator -=

inline Poco::Int32 operator -= (
Poco::Int32 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::Int32

### operator -=

inline Poco::UInt32 operator -= (
Poco::UInt32 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::UInt32

### operator -=

inline Poco::Int64 operator -= (
Poco::Int64 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::Int64

### operator -=

inline Poco::UInt64 operator -= (
Poco::UInt64 & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from Poco::UInt64

### operator -=

inline float operator -= (
float & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from float

### operator -=

inline double operator -= (
double & other,
const Var & da
);

Subtraction assignment operator for subtracting Var from double

### operator /

inline char operator / (
const char & other,
const Var & da
);

Division operator for dividing Var with char

### operator /

inline Poco::Int8 operator / (
const Poco::Int8 & other,
const Var & da
);

Division operator for dividing Var with Poco::Int8

### operator /

inline Poco::UInt8 operator / (
const Poco::UInt8 & other,
const Var & da
);

Division operator for dividing Var with Poco::UInt8

### operator /

inline Poco::Int16 operator / (
const Poco::Int16 & other,
const Var & da
);

Division operator for dividing Var with Poco::Int16

### operator /

inline Poco::UInt16 operator / (
const Poco::UInt16 & other,
const Var & da
);

Division operator for dividing Var with Poco::UInt16

### operator /

inline Poco::Int32 operator / (
const Poco::Int32 & other,
const Var & da
);

Division operator for dividing Var with Poco::Int32

### operator /

inline Poco::UInt32 operator / (
const Poco::UInt32 & other,
const Var & da
);

Division operator for dividing Var with Poco::UInt32

### operator /

inline Poco::Int64 operator / (
const Poco::Int64 & other,
const Var & da
);

Division operator for dividing Var with Poco::Int64

### operator /

inline Poco::UInt64 operator / (
const Poco::UInt64 & other,
const Var & da
);

Division operator for dividing Var with Poco::UInt64

### operator /

inline float operator / (
const float & other,
const Var & da
);

Division operator for dividing Var with float

### operator /

inline double operator / (
const double & other,
const Var & da
);

Division operator for dividing Var with double

### operator /=

inline char operator /= (
char & other,
const Var & da
);

Division assignment operator for dividing Var with char

### operator /=

inline Poco::Int8 operator /= (
Poco::Int8 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::Int8

### operator /=

inline Poco::UInt8 operator /= (
Poco::UInt8 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::UInt8

### operator /=

inline Poco::Int16 operator /= (
Poco::Int16 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::Int16

### operator /=

inline Poco::UInt16 operator /= (
Poco::UInt16 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::UInt16

### operator /=

inline Poco::Int32 operator /= (
Poco::Int32 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::Int32

### operator /=

inline Poco::UInt32 operator /= (
Poco::UInt32 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::UInt32

### operator /=

inline Poco::Int64 operator /= (
Poco::Int64 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::Int64

### operator /=

inline Poco::UInt64 operator /= (
Poco::UInt64 & other,
const Var & da
);

Division assignment operator for dividing Var with Poco::UInt64

### operator /=

inline float operator /= (
float & other,
const Var & da
);

Division assignment operator for dividing Var with float

### operator /=

inline double operator /= (
double & other,
const Var & da
);

Division assignment operator for dividing Var with double

### operator <

inline bool operator < (
const char & other,
const Var & da
);

Less than operator for comparing Var with char

### operator <

inline bool operator < (
const Poco::Int8 & other,
const Var & da
);

Less than operator for comparing Var with Poco::Int8

### operator <

inline bool operator < (
const Poco::UInt8 & other,
const Var & da
);

Less than operator for comparing Var with Poco::UInt8

### operator <

inline bool operator < (
const Poco::Int16 & other,
const Var & da
);

Less than operator for comparing Var with Poco::Int16

### operator <

inline bool operator < (
const Poco::UInt16 & other,
const Var & da
);

Less than operator for comparing Var with Poco::UInt16

### operator <

inline bool operator < (
const Poco::Int32 & other,
const Var & da
);

Less than operator for comparing Var with Poco::Int32

### operator <

inline bool operator < (
const Poco::UInt32 & other,
const Var & da
);

Less than operator for comparing Var with Poco::UInt32

### operator <

inline bool operator < (
const Poco::Int64 & other,
const Var & da
);

Less than operator for comparing Var with Poco::Int64

### operator <

inline bool operator < (
const Poco::UInt64 & other,
const Var & da
);

Less than operator for comparing Var with Poco::UInt64

### operator <

inline bool operator < (
const float & other,
const Var & da
);

Less than operator for comparing Var with float

### operator <

inline bool operator < (
const double & other,
const Var & da
);

Less than operator for comparing Var with double

### operator <=

inline bool operator <= (
const char & other,
const Var & da
);

Less than or equal operator for comparing Var with char

### operator <=

inline bool operator <= (
const Poco::Int8 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::Int8

### operator <=

inline bool operator <= (
const Poco::UInt8 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::UInt8

### operator <=

inline bool operator <= (
const Poco::Int16 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::Int16

### operator <=

inline bool operator <= (
const Poco::UInt16 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::UInt16

### operator <=

inline bool operator <= (
const Poco::Int32 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::Int32

### operator <=

inline bool operator <= (
const Poco::UInt32 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::UInt32

### operator <=

inline bool operator <= (
const Poco::Int64 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::Int64

### operator <=

inline bool operator <= (
const Poco::UInt64 & other,
const Var & da
);

Less than or equal operator for comparing Var with Poco::UInt64

### operator <=

inline bool operator <= (
const float & other,
const Var & da
);

Less than or equal operator for comparing Var with float

### operator <=

inline bool operator <= (
const double & other,
const Var & da
);

Less than or equal operator for comparing Var with double

### operator ==

inline bool operator == (
const char & other,
const Var & da
);

Equality operator for comparing Var with char

### operator ==

inline bool operator == (
const Poco::Int8 & other,
const Var & da
);

Equality operator for comparing Var with Poco::Int8

### operator ==

inline bool operator == (
const Poco::UInt8 & other,
const Var & da
);

Equality operator for comparing Var with Poco::UInt8

### operator ==

inline bool operator == (
const Poco::Int16 & other,
const Var & da
);

Equality operator for comparing Var with Poco::Int16

### operator ==

inline bool operator == (
const Poco::UInt16 & other,
const Var & da
);

Equality operator for comparing Var with Poco::UInt16

### operator ==

inline bool operator == (
const Poco::Int32 & other,
const Var & da
);

Equality operator for comparing Var with Poco::Int32

### operator ==

inline bool operator == (
const Poco::UInt32 & other,
const Var & da
);

Equality operator for comparing Var with Poco::UInt32

### operator ==

inline bool operator == (
const Poco::Int64 & other,
const Var & da
);

Equality operator for comparing Var with Poco::Int64

### operator ==

inline bool operator == (
const Poco::UInt64 & other,
const Var & da
);

Equality operator for comparing Var with Poco::UInt64

### operator ==

inline bool operator == (
const float & other,
const Var & da
);

Equality operator for comparing Var with float

### operator ==

inline bool operator == (
const double & other,
const Var & da
);

Equality operator for comparing Var with double

### operator ==

inline bool operator == (
const bool & other,
const Var & da
);

Equality operator for comparing Var with bool

### operator ==

inline bool operator == (
const std::string & other,
const Var & da
);

Equality operator for comparing Var with std::string

### operator ==

inline bool operator == (
const UTF16String & other,
const Var & da
);

Equality operator for comparing Var with UTF16String

### operator ==

inline bool operator == (
const char * other,
const Var & da
);

Equality operator for comparing Var with const char*

### operator >

inline bool operator > (
const char & other,
const Var & da
);

Greater than operator for comparing Var with char

### operator >

inline bool operator > (
const Poco::Int8 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::Int8

### operator >

inline bool operator > (
const Poco::UInt8 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::UInt8

### operator >

inline bool operator > (
const Poco::Int16 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::Int16

### operator >

inline bool operator > (
const Poco::UInt16 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::UInt16

### operator >

inline bool operator > (
const Poco::Int32 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::Int32

### operator >

inline bool operator > (
const Poco::UInt32 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::UInt32

### operator >

inline bool operator > (
const Poco::Int64 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::Int64

### operator >

inline bool operator > (
const Poco::UInt64 & other,
const Var & da
);

Greater than operator for comparing Var with Poco::UInt64

### operator >

inline bool operator > (
const float & other,
const Var & da
);

Greater than operator for comparing Var with float

### operator >

inline bool operator > (
const double & other,
const Var & da
);

Greater than operator for comparing Var with double

### operator >=

inline bool operator >= (
const char & other,
const Var & da
);

Greater than or equal operator for comparing Var with char

### operator >=

inline bool operator >= (
const Poco::Int8 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::Int8

### operator >=

inline bool operator >= (
const Poco::UInt8 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::UInt8

### operator >=

inline bool operator >= (
const Poco::Int16 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::Int16

### operator >=

inline bool operator >= (
const Poco::UInt16 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::UInt16

### operator >=

inline bool operator >= (
const Poco::Int32 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::Int32

### operator >=

inline bool operator >= (
const Poco::UInt32 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::UInt32

### operator >=

inline bool operator >= (
const Poco::Int64 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::Int64

### operator >=

inline bool operator >= (
const Poco::UInt64 & other,
const Var & da
);

Greater than or equal operator for comparing Var with Poco::UInt64

### operator >=

inline bool operator >= (
const float & other,
const Var & da
);

Greater than or equal operator for comparing Var with float

### operator >=

inline bool operator >= (
const double & other,
const Var & da
);

Greater than or equal operator for comparing Var with double

### operator []

inline Var & Var::operator[] (
const std::string & name
);

inlines

Var members

### operator []

inline const Var & Var::operator[] (
const std::string & name
) const;

### structToString

template < typename S, typename I = typename S::ConstIterator > std::string structToString(
const S & data,
bool wrap = true
);

Utility function for converting DynamicStruct to std::string. Set wrap to false in order to prevent string values wrapping (useful to prevent JSON fragments from being treated as strings).