aermicioi.aedi_property_reader.convertor.convertor

Members

Aliases

DefaultConvertibleTypes
alias DefaultConvertibleTypes = AliasSeq!(MapConvertibleTypes, StringArrayConvertibleTypes, ScalarArrayConvertibleTypes, ScalarConvertibleTypes, StringConvertibleTypes)
Undocumented in source.
MapConvertibleTypes
alias MapConvertibleTypes = AliasSeq!(string[string], wstring[wstring])
Undocumented in source.
ScalarArrayConvertibleTypes
alias ScalarArrayConvertibleTypes = AliasSeq!(ubyte[], byte[], ushort[], short[], uint[], int[], ulong[], long[], float[], double[], real[])
Undocumented in source.
ScalarConvertibleTypes
alias ScalarConvertibleTypes = AliasSeq!(ubyte, byte, ushort, short, uint, int, ulong, long, float, double, real, char, wchar, dchar)
Undocumented in source.
StringArrayConvertibleTypes
alias StringArrayConvertibleTypes = AliasSeq!(string[], wstring[], char[][], wchar[][], dchar[][])
Undocumented in source.
StringConvertibleTypes
alias StringConvertibleTypes = AliasSeq!(string, wstring, dstring, char[], wchar[], dchar[])
Undocumented in source.

Classes

CombinedConvertorImpl
class CombinedConvertorImpl

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

MapConvertor
class MapConvertor(To : ToElement[ToKey], From : FromElement[FromKey], ToElement, ToKey, FromElement, FromKey)

A convertor that converts a forward range into an array of it's elements converted to a destination type.

NoOpConvertor
class NoOpConvertor

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

RangeConvertor
class RangeConvertor(To, From)

A convertor that converts a elements of a forward range and puts into an output range that is also a forward range.

RangeToArrayConvertor
class RangeToArrayConvertor(To : Element[], From, Element)

A convertor that converts a forward range into an array of it's elements converted to a destination type.

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

A convertor able to unwrap an element out of TaggedAlgebraic!Union.

VariantConvertor
class VariantConvertor(Variant : VariantN!(maxDataSize, Types), size_t maxDataSize, Types...)

A convertor that extracts data from a std.variant.VariantN type.

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.

Mixin templates

ConvertsFromMixin
mixintemplate ConvertsFromMixin()

Default implementation of converts from method

ConvertsFromToMixin
mixintemplate ConvertsFromToMixin(FromType, ToType)
Undocumented in source.
ConvertsFromToMixin
mixintemplate ConvertsFromToMixin()
Undocumented in source.
ConvertsMixin
mixintemplate ConvertsMixin()

Default implementation of converts method.

ConvertsToMixin
mixintemplate ConvertsToMixin()

Default implementation of converts to method

DestroysMixin
mixintemplate DestroysMixin()

Default implementation of destroys method.

EqualMixin
mixintemplate EqualMixin()

Mixin that provides default implementation of equality comparison for convertors

EqualToHashToStringOpCmpMixin
mixintemplate EqualToHashToStringOpCmpMixin()

Amalgation of EqualMixin, ToHashMixin, ToStringMixin, and OpCmpMixin

FromMixin
mixintemplate FromMixin(FromTypes...)

Default implementation of from method

OpCmpMixin
mixintemplate OpCmpMixin()

Default implementation of comparison between two or more convertors.

ToHashMixin
mixintemplate ToHashMixin()

Mixin that provides default implementation of hashing algorithm

ToMixin
mixintemplate ToMixin(ToTypes...)

Default implementation of to method

ToStringMixin
mixintemplate ToStringMixin()

Mixin that provides default implementation of toString method

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