Security Scol plugin
Classes | Macros | Functions | Variables
algparam.h File Reference

Classes for working with NameValuePairs. More...

#include "config.h"
#include "cryptlib.h"
#include "smartptr.h"
#include "secblock.h"
#include "integer.h"
#include "misc.h"
#include <string>
#include <typeinfo>
#include <exception>

Go to the source code of this file.

Classes

class  ConstByteArrayParameter
 Used to pass byte array input as part of a NameValuePairs object. More...
 
class  ByteArrayParameter
 Used to pass byte array input as part of a NameValuePairs object. More...
 
class  CombinedNameValuePairs
 Combines two sets of NameValuePairs. More...
 
class  GetValueHelperClass< T, BASE >
 
class  AssignFromHelperClass< T, BASE >
 
class  AlgorithmParametersBase
 Base class for AlgorithmParameters. More...
 
class  AlgorithmParametersBase::ParameterNotUsed
 Exception thrown when an AlgorithmParameter is unused. More...
 
class  AlgorithmParametersTemplate< T >
 Template base class for AlgorithmParameters. More...
 
class  AlgorithmParameters
 An object that implements NameValuePairs. More...
 

Macros

#define CRYPTOPP_GET_FUNCTION_ENTRY(name)   (Name::name(), &ThisClass::Get##name)
 
#define CRYPTOPP_SET_FUNCTION_ENTRY(name)   (Name::name(), &ThisClass::Set##name)
 
#define CRYPTOPP_SET_FUNCTION_ENTRY2(name1, name2)   (Name::name1(), Name::name2(), &ThisClass::Set##name1##And##name2)
 

Functions

template<class BASE , class T >
GetValueHelperClass< T, BASE > GetValueHelper (const T *pObject, const char *name, const std::type_info &valueType, void *pValue, const NameValuePairs *searchFirst=NULLPTR)
 
template<class T >
GetValueHelperClass< T, T > GetValueHelper (const T *pObject, const char *name, const std::type_info &valueType, void *pValue, const NameValuePairs *searchFirst=NULLPTR)
 
template<class BASE , class T >
AssignFromHelperClass< T, BASE > AssignFromHelper (T *pObject, const NameValuePairs &source)
 
template<class T >
AssignFromHelperClass< T, T > AssignFromHelper (T *pObject, const NameValuePairs &source)
 
CRYPTOPP_DLL bool AssignIntToInteger (const std::type_info &valueType, void *pInteger, const void *pInt)
 
CRYPTOPP_DLL const std::type_info &CRYPTOPP_API IntegerTypeId ()
 
template<class T >
AlgorithmParameters MakeParameters (const char *name, const T &value, bool throwIfNotUsed=true)
 Create an object that implements NameValuePairs.
 

Variables

CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< bool >
 
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< int >
 
CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< ConstByteArrayParameter >
 

Detailed Description

Classes for working with NameValuePairs.

Definition in file algparam.h.

Macro Definition Documentation

◆ CRYPTOPP_GET_FUNCTION_ENTRY

#define CRYPTOPP_GET_FUNCTION_ENTRY (   name)    (Name::name(), &ThisClass::Get##name)

Definition at line 514 of file algparam.h.

◆ CRYPTOPP_SET_FUNCTION_ENTRY

#define CRYPTOPP_SET_FUNCTION_ENTRY (   name)    (Name::name(), &ThisClass::Set##name)

Definition at line 515 of file algparam.h.

◆ CRYPTOPP_SET_FUNCTION_ENTRY2

#define CRYPTOPP_SET_FUNCTION_ENTRY2 (   name1,
  name2 
)    (Name::name1(), Name::name2(), &ThisClass::Set##name1##And##name2)

Definition at line 516 of file algparam.h.

Function Documentation

◆ AssignFromHelper() [1/2]

template<class BASE , class T >
AssignFromHelperClass< T, BASE > AssignFromHelper ( T *  pObject,
const NameValuePairs source 
)

Definition at line 279 of file algparam.h.

◆ AssignFromHelper() [2/2]

template<class T >
AssignFromHelperClass< T, T > AssignFromHelper ( T *  pObject,
const NameValuePairs source 
)

Definition at line 285 of file algparam.h.

◆ AssignIntToInteger()

CRYPTOPP_DLL bool AssignIntToInteger ( const std::type_info &  valueType,
void *  pInteger,
const void *  pInt 
)

Definition at line 4857 of file integer.cpp.

◆ GetValueHelper() [1/2]

template<class BASE , class T >
GetValueHelperClass< T, BASE > GetValueHelper ( const T *  pObject,
const char *  name,
const std::type_info &  valueType,
void *  pValue,
const NameValuePairs searchFirst = NULLPTR 
)

Definition at line 217 of file algparam.h.

◆ GetValueHelper() [2/2]

template<class T >
GetValueHelperClass< T, T > GetValueHelper ( const T *  pObject,
const char *  name,
const std::type_info &  valueType,
void *  pValue,
const NameValuePairs searchFirst = NULLPTR 
)

Definition at line 223 of file algparam.h.

◆ MakeParameters()

template<class T >
AlgorithmParameters MakeParameters ( const char *  name,
const T &  value,
bool  throwIfNotUsed = true 
)

Create an object that implements NameValuePairs.

Template Parameters
Tthe class or type
Parameters
namethe name of the object or value to retrieve
valuereference to a variable that receives the value
throwIfNotUsedif true, the object will throw an exception if the value is not accessed
Note
throwIfNotUsed is ignored if using a compiler that does not support std::uncaught_exception(), such as MSVC 7.0 and earlier.
A NameValuePairs object containing an arbitrary number of name value pairs may be constructed by repeatedly using operator() on the object returned by MakeParameters, for example:
    AlgorithmParameters parameters = MakeParameters(name1, value1)(name2, value2)(name3, value3);
  

Definition at line 508 of file algparam.h.

Variable Documentation

◆ AlgorithmParametersTemplate< bool >

CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< bool >

Definition at line 415 of file algparam.h.

◆ AlgorithmParametersTemplate< ConstByteArrayParameter >

CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< ConstByteArrayParameter >

Definition at line 417 of file algparam.h.

◆ AlgorithmParametersTemplate< int >

CRYPTOPP_DLL_TEMPLATE_CLASS AlgorithmParametersTemplate< int >

Definition at line 416 of file algparam.h.