16#ifndef __Ice_ValueFactory_h__
17#define __Ice_ValueFactory_h__
31#ifndef ICE_IGNORE_VERSION
32# if ICE_INT_VERSION / 100 != 307
33# error Ice version mismatch!
35# if ICE_INT_VERSION % 100 >= 50
36# error Beta header file detected
38# if ICE_INT_VERSION % 100 < 11
39# error Ice patch level mismatch!
44# if defined(ICE_STATIC_LIBS)
46# elif defined(ICE_API_EXPORTS)
47# define ICE_API ICE_DECLSPEC_EXPORT
49# define ICE_API ICE_DECLSPEC_IMPORT
53#ifdef ICE_CPP11_MAPPING
77using ValueFactory = ::std::function<::std::shared_ptr<Value>(const ::std::string& type)>;
86class ICE_CLASS(ICE_API) ValueFactoryManager
132 virtual void add(ValueFactory factory, const ::std::string&
id) = 0;
141 virtual ::Ice::ValueFactory find(const ::std::string&
id)
const noexcept = 0;
200#ifdef ICE_CPP11_COMPILER
227inline bool operator<(
const ValueFactory& lhs,
const ValueFactory& rhs)
229 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
248#ifdef ICE_CPP11_COMPILER
312inline bool operator<(
const ValueFactoryManager& lhs,
const ValueFactoryManager& rhs)
314 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
Shared & operator=(const Shared &)
Definition Shared.h:94
Base class for local Slice classes and interfaces.
Definition LocalObject.h:25
A value factory manager maintains a collection of value factories.
Definition ValueFactory.h:241
virtual ~ValueFactoryManager()
ValueFactoryManagerPtr PointerType
Definition ValueFactory.h:244
virtual ValueFactoryPtr find(const ::std::string &id) const =0
Find an value factory registered with this communicator.
virtual void add(const ValueFactoryPtr &factory, const ::std::string &id)=0
Add a value factory.
A factory for values.
Definition ValueFactory.h:193
ValueFactoryPtr PointerType
Definition ValueFactory.h:196
virtual ValuePtr create(const ::std::string &type)=0
Create a new value for a given value type.
Definition BuiltinSequences.h:113
::IceInternal::Handle< ValueFactoryManager > ValueFactoryManagerPtr
Definition ValueFactory.h:177
::IceInternal::Handle< ValueFactory > ValueFactoryPtr
Definition ValueFactory.h:171
ObjectPtr ValuePtr
Definition ObjectF.h:22
IceUtil::Shared * upCast(::Ice::AsyncResult *)