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)>;
141 virtual ::Ice::ValueFactory
find(const ::std::string&
id)
const noexcept = 0;
157using ValueFactoryManagerPtr = ::std::shared_ptr<ValueFactoryManager>;
171typedef ::IceInternal::Handle< ValueFactory> ValueFactoryPtr;
177typedef ::IceInternal::Handle< ValueFactoryManager> ValueFactoryManagerPtr;
196 typedef ValueFactoryPtr PointerType;
198 virtual ~ValueFactory();
200#ifdef ICE_CPP11_COMPILER
218 virtual ValuePtr create(const ::std::string& type) = 0;
224 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
229 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
244 typedef ValueFactoryManagerPtr PointerType;
246 virtual ~ValueFactoryManager();
248#ifdef ICE_CPP11_COMPILER
249 ValueFactoryManager() =
default;
250 ValueFactoryManager(
const ValueFactoryManager&) =
default;
251 ValueFactoryManager& operator=(
const ValueFactoryManager&) =
default;
294 virtual void add(
const ValueFactoryPtr& factory, const ::std::string&
id) = 0;
303 virtual ValueFactoryPtr find(const ::std::string&
id)
const ICE_NOEXCEPT = 0;
309 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(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
A value factory manager maintains a collection of value factories.
Definition ValueFactory.h:87
virtual ~ValueFactoryManager()
virtual void add(ValueFactory factory, const ::std::string &id)=0
Add a value factory.
virtual::Ice::ValueFactory find(const ::std::string &id) const noexcept=0
Find an value factory registered with this communicator.
Definition BuiltinSequences.h:56
::std::function<::std::shared_ptr< Value >(const ::std::string &type)> ValueFactory
Create a new value for a given value type.
Definition ValueFactory.h:77
IceUtil::Shared * upCast(::Ice::LocalObject *)
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184