3#ifndef ICE_SLICE_LOADER_H
4#define ICE_SLICE_LOADER_H
20 class ICE_API SliceLoader
23 virtual ~SliceLoader();
40 SliceLoader() =
default;
60 std::vector<SliceLoaderPtr> _loaders;
ValuePtr newClassInstance(std::string_view typeId) const final
Creates an instance of a class mapped from a Slice class based on a Slice type ID.
std::exception_ptr newExceptionInstance(std::string_view typeId) const final
Creates an instance of a class mapped from a Slice exception based on a Slice type ID.
void add(SliceLoaderPtr loader) noexcept
Adds a SliceLoader instance to this CompositeSliceLoader.
Implements SliceLoader by combining multiple SliceLoader instances.
virtual std::exception_ptr newExceptionInstance(std::string_view typeId) const
Creates an instance of a class mapped from a Slice exception based on a Slice type ID.
virtual ValuePtr newClassInstance(std::string_view typeId) const
Creates an instance of a class mapped from a Slice class based on a Slice type ID.
std::shared_ptr< SliceLoader > SliceLoaderPtr
A shared pointer to a SliceLoader.
std::shared_ptr< Value > ValuePtr
A shared pointer to a Value.
std::shared_ptr< CompositeSliceLoader > CompositeSliceLoaderPtr
A shared pointer to a CompositeSliceLoaderPtr.