diff --git a/alib2abstraction/src/registry/AlgorithmRegistry.hpp b/alib2abstraction/src/registry/AlgorithmRegistry.hpp index 2d696ecd14f981a05976655b3ed77aa767fdae7c..f7983e2b85d187612ea94c0e23a6fa1251b0cccf 100644 --- a/alib2abstraction/src/registry/AlgorithmRegistry.hpp +++ b/alib2abstraction/src/registry/AlgorithmRegistry.hpp @@ -28,6 +28,7 @@ namespace abstraction { class AlgorithmRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -36,6 +37,7 @@ class AlgorithmRegistry { } }; +private: template < class ObjectType, class Return, class ... Params > class MemberImpl : public Entry { std::function < Return ( typename std::remove_reference < ObjectType >::type *, Params ... ) > m_callback; diff --git a/alib2abstraction/src/registry/CastRegistry.hpp b/alib2abstraction/src/registry/CastRegistry.hpp index 40bc9ccd603cf8d3632617716e89f43d47a52827..0e2df9e9cfaf3613ecd8748d9719596d1e3441bc 100644 --- a/alib2abstraction/src/registry/CastRegistry.hpp +++ b/alib2abstraction/src/registry/CastRegistry.hpp @@ -21,6 +21,7 @@ namespace abstraction { class CastRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -29,6 +30,7 @@ class CastRegistry { }; +private: template < class Return, class Param > class DefaultEntryImpl : public Entry { public: diff --git a/alib2abstraction/src/registry/ContainerRegistry.hpp b/alib2abstraction/src/registry/ContainerRegistry.hpp index b49fc5510d9b548990fbefc0858ae8832c34db77..d88509082af048b5dd6b43e21812b8be3cd68a69 100644 --- a/alib2abstraction/src/registry/ContainerRegistry.hpp +++ b/alib2abstraction/src/registry/ContainerRegistry.hpp @@ -22,6 +22,7 @@ namespace abstraction { class ContainerRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -30,6 +31,7 @@ class ContainerRegistry { } }; +private: template < class Params > class SetEntryImpl : public Entry { public: diff --git a/alib2abstraction/src/registry/ImmediateRegistry.hpp b/alib2abstraction/src/registry/ImmediateRegistry.hpp index 63b0ab4f4ecce4844fc59d5e9ca097ce266edc3d..49a2c54c222432b6f631e92850743df81127d49f 100644 --- a/alib2abstraction/src/registry/ImmediateRegistry.hpp +++ b/alib2abstraction/src/registry/ImmediateRegistry.hpp @@ -19,6 +19,7 @@ namespace abstraction { class ImmediateRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( std::string value ) const = 0; @@ -27,6 +28,7 @@ class ImmediateRegistry { } }; +private: template < class Result > class EntryImpl : public Entry { public: diff --git a/alib2abstraction/src/registry/NormalizeRegistry.hpp b/alib2abstraction/src/registry/NormalizeRegistry.hpp index 782d357ed3fc117317ac8fce648f0fdcd96fd5bc..e4a6580caf96751830440d8884227768966a900a 100644 --- a/alib2abstraction/src/registry/NormalizeRegistry.hpp +++ b/alib2abstraction/src/registry/NormalizeRegistry.hpp @@ -21,6 +21,7 @@ namespace abstraction { class NormalizeRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -30,6 +31,7 @@ class NormalizeRegistry { }; +private: template < class Param > class EntryImpl : public Entry { public: diff --git a/alib2abstraction/src/registry/ValuePrinterRegistry.hpp b/alib2abstraction/src/registry/ValuePrinterRegistry.hpp index 56bce0bbcb5da3812361ba70ecad7e7480c8e59d..722c21ac43b9fd7cfcaaa13a1b6af7f9fb0c8814 100644 --- a/alib2abstraction/src/registry/ValuePrinterRegistry.hpp +++ b/alib2abstraction/src/registry/ValuePrinterRegistry.hpp @@ -18,6 +18,7 @@ namespace abstraction { class ValuePrinterRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( std::ostream & os ) const = 0; @@ -27,6 +28,7 @@ class ValuePrinterRegistry { }; +private: template < class Param > class EntryImpl : public Entry { public: diff --git a/alib2raw/src/registry/RawReaderRegistry.hpp b/alib2raw/src/registry/RawReaderRegistry.hpp index a02b9e5bb72c1a7f5fcdfd91845116e9903d3f46..2b1f141c529bfedf46fb38f23e9988ecf13c0bfd 100644 --- a/alib2raw/src/registry/RawReaderRegistry.hpp +++ b/alib2raw/src/registry/RawReaderRegistry.hpp @@ -19,6 +19,7 @@ namespace abstraction { class RawReaderRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -27,6 +28,7 @@ class RawReaderRegistry { } }; +private: template < class Return > class EntryImpl : public Entry { public: diff --git a/alib2raw/src/registry/RawWriterRegistry.hpp b/alib2raw/src/registry/RawWriterRegistry.hpp index 180a216ba9e3703a4c5a01a99a2e11115a11d153..5c5eae33cc86197ca655c4a4cd6f7d1fea880dbe 100644 --- a/alib2raw/src/registry/RawWriterRegistry.hpp +++ b/alib2raw/src/registry/RawWriterRegistry.hpp @@ -19,6 +19,7 @@ namespace abstraction { class RawWriterRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -27,6 +28,7 @@ class RawWriterRegistry { } }; +private: template < class Param > class EntryImpl : public Entry { public: diff --git a/alib2str/src/registry/StringWriterRegistry.hpp b/alib2str/src/registry/StringWriterRegistry.hpp index 26e97e4e87b053df17560aa99956a0517753e780..85b0757d7e0032526258e4b0575b2b71f73f5c6a 100644 --- a/alib2str/src/registry/StringWriterRegistry.hpp +++ b/alib2str/src/registry/StringWriterRegistry.hpp @@ -19,6 +19,7 @@ namespace abstraction { class StringWriterRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -28,6 +29,7 @@ class StringWriterRegistry { }; +private: template < class Param > class EntryImpl : public Entry { public: diff --git a/alib2xml/src/core/xmlApi.hpp b/alib2xml/src/core/xmlApi.hpp index 637dd14c9a1512e09c8c86f85ccee8bf8591d7cc..08ee579c07d9a4ada2568dcc69059c1f1e276763 100644 --- a/alib2xml/src/core/xmlApi.hpp +++ b/alib2xml/src/core/xmlApi.hpp @@ -62,7 +62,7 @@ public: template < > struct xmlApi < object::Object > { -private: +public: class GroupParser { public: virtual object::Object parse ( ext::deque < sax::Token >::iterator & input ) = 0; @@ -70,6 +70,7 @@ private: virtual ~GroupParser ( ) noexcept = default; }; +private: static ext::map < std::string, std::unique_ptr < GroupParser > > & parseFunctions ( ); template < class Type > @@ -81,6 +82,7 @@ private: }; +public: class GroupComposer { public: virtual void compose ( ext::deque < sax::Token > & input, const object::Object & group ) = 0; @@ -88,6 +90,7 @@ private: virtual ~GroupComposer( ) noexcept = default; }; +private: static ext::map < std::string, std::unique_ptr < GroupComposer > > & composeFunctions ( ); template < class Type > diff --git a/alib2xml/src/registry/XmlComposerRegistry.hpp b/alib2xml/src/registry/XmlComposerRegistry.hpp index 6ca9c697778ddd0c8b7ab105ee3b92b5390f429d..562b7b3e8f59a78e46f5bb2a319fa4c27c1b06d0 100644 --- a/alib2xml/src/registry/XmlComposerRegistry.hpp +++ b/alib2xml/src/registry/XmlComposerRegistry.hpp @@ -20,6 +20,7 @@ namespace abstraction { class XmlComposerRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -28,6 +29,7 @@ class XmlComposerRegistry { } }; +private: template < class Param > class EntryImpl : public Entry { public: diff --git a/alib2xml/src/registry/XmlContainerParserRegistry.hpp b/alib2xml/src/registry/XmlContainerParserRegistry.hpp index 4bc2e54bf15728e23e3bc330d9d9add991a8edf5..a97d897beddeda8b58ea553e39342389864c303e 100644 --- a/alib2xml/src/registry/XmlContainerParserRegistry.hpp +++ b/alib2xml/src/registry/XmlContainerParserRegistry.hpp @@ -22,6 +22,7 @@ namespace abstraction { class XmlContainerParserRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -30,6 +31,7 @@ class XmlContainerParserRegistry { } }; +private: template < class Params > class SetEntryImpl : public Entry { public: diff --git a/alib2xml/src/registry/XmlParserRegistry.hpp b/alib2xml/src/registry/XmlParserRegistry.hpp index 22c470628aad3fe5c8615b6006522ccf0eb5632e..3a8cb7b52b740450894279f82c41b959521b2d05 100644 --- a/alib2xml/src/registry/XmlParserRegistry.hpp +++ b/alib2xml/src/registry/XmlParserRegistry.hpp @@ -19,6 +19,7 @@ namespace abstraction { class XmlParserRegistry { +public: class Entry { public: virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0; @@ -27,6 +28,7 @@ class XmlParserRegistry { } }; +private: template < class Return > class EntryImpl : public Entry { public: