aermicioi.aedi_property_reader.core.convertor

Members

Aliases

CompositeAdvisedConvertor
alias CompositeAdvisedConvertor = AdvisedConvertor!(CompositeAccessorFactory, CompositeSetterFactory, CompositeInspectorFactory, CompositeInspectorFactory)
Undocumented in source.
DelegateConvertor
alias DelegateConvertor(To, From) = void delegate(in From, ref To, RCIAllocator allocator = theAllocator)

Functional convertor that is taking a component of type From and converts it into a component of type To.

DelegateDestructor
alias DelegateDestructor(To) = void delegate(ref To, RCIAllocator = theAllocator)

Functional destructor responsible for destroying components of To type.

FunctionalConvertor
alias FunctionalConvertor(To, From) = void function(in From, ref To, RCIAllocator allocator = theAllocator)

Functional convertor that is taking a component of type From and converts it into a component of type To.

FunctionalDestructor
alias FunctionalDestructor(To) = void function(ref To, RCIAllocator = theAllocator)

Functional destructor responsible for destroying components of To type.

Classes

CallbackConvertor
class CallbackConvertor(alias convertor, alias destructor)

A convertor that is using functional convertor and destructor for conversion logic.

CombinedConvertorImpl
class CombinedConvertorImpl

A convertor that is delegating converting task to a set of child convertors.

NoOpConvertor
class NoOpConvertor

A convertor that simply doesn't do any conversion and returns existing object

TaggedConvertor
class TaggedConvertor(Tagged : TaggedAlgebraic!Union, Union)

A convertor that is providing additional type information for converted tagged types.

Enums

CompositeAccessorFactory
eponymoustemplate CompositeAccessorFactory(T)
Undocumented in source.
CompositeInspectorFactory
eponymoustemplate CompositeInspectorFactory(T)
Undocumented in source.
CompositeSetterFactory
eponymoustemplate CompositeSetterFactory(T)
Undocumented in source.

Functions

convert
To convert(Convertor convertor, From from, RCIAllocator allocator)

Convert from into component of type To using a convertor for this.

Interfaces

CombinedConvertor
interface CombinedConvertor

Interface for convertors that could rely on another convertors to convert a value.

Convertor
interface Convertor

Interface for components that are able to convert from one erased type to another erased type.

Templates

AdvisedConvertor
template AdvisedConvertor(alias convertor, alias destructor)

A callback convertor factory advised with functional convertor and destructor.

AdvisedConvertor
template AdvisedConvertor(alias Accessor, alias Setter, alias ToInspector, alias FromInspector)

A composite convertor factory advised with accessor, setter, and inspectors.

ChainedAdvisedConvertor
template ChainedAdvisedConvertor(AdvisedConvertors...)
Undocumented in source.
isConvertor
template isConvertor(alias T)

Check wether T symbol is a functional convertor.

isConvertor
template isConvertor(alias T, To, From)

Check whether symbol T is a functional convertor from type From to type To.

isDestructor
template isDestructor(alias T)

Check whether symbol T is a functional destructor.

isDestructor
template isDestructor(T, To)

Check if symbol T is a functional destructor for component of type To

maybeConvertor
template maybeConvertor(alias T, To, From)

Test whether template T can be instantiated as a functional convertor from From to To.

maybeDestructor
template maybeDestructor(alias T, To)

Test if T template's instantiantiation with type To is a functional destructor for component of type To.

Meta

License

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Authors

Alexandru Ermicioi