Data types and type management¶
pni::type_id_t
¶
Warning
doxygenenum: Cannot find enum “pni::type_id_t” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Operators¶
Warning
doxygenfunction: Unable to resolve function “operator<<” with arguments (std::ostream&, const type_id_t&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const Node &n)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_argument_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_help_request &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_option_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const column_info &ci)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const exception_record &rec)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const file_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const filter_not_available &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const image_info &i)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const index_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const invalid_object_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const io_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const iterator_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const key_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const link_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const memory_allocation_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const memory_not_allocated_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const not_implemented_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const object_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const parser_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const range_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const shape_mismatch_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const size_mismatch_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const slice &s)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const tiff_reader &r)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const type_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const value_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Path &p)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Path::Element &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const PathObject::Type &type)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Version &version)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const bool_t &b)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream&, const exception&)
- std::ostream &operator<<(std::ostream &o, const ifd &image_dir)
- std::ostream &operator<<(std::ostream &o, const ifd_entry &e)
- std::ostream &operator<<(std::ostream &o, const strip_reader &r)
- std::ostream &operator<<(std::ostream &o, const tiff_read_error &e)
- template<typename ArrayT> std::ostream &operator<<(std::ostream &stream, const array_view<ArrayT> &v)
- template<typename ElementT> std::ostream &operator<<(std::ostream &os, const scalar<ElementT> &s)
- template<typename IntegerT> std::ostream &operator<<(std::ostream &o, const rational<IntegerT> &r)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> std::ostream &operator<<(std::ostream &o, const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &a)
Predicates¶
Warning
doxygenfunction: Cannot find function “is_numeric” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Warning
doxygenfunction: Unable to resolve function “is_integer” with arguments (type_id_t) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- bool is_integer(const pni::string &input)
Warning
doxygenfunction: Unable to resolve function “is_complex” with arguments (type_id_t) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- bool is_complex(const pni::string &input)
Warning
doxygenfunction: Unable to resolve function “is_float” with arguments (type_id_t) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- bool is_float(const pni::string &input)
Warning
doxygenfunction: Cannot find function “is_checked_convertible” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Warning
doxygenfunction: Cannot find function “is_unchecked_convertible” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Warning
doxygenfunction: Cannot find function “is_convertible” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Utility functions¶
Warning
doxygenfunction: Cannot find function “type_id_from_str” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Warning
doxygenfunction: Cannot find function “str_from_type_id” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
Warning
doxygenfunction: Unable to resolve function “type_id” with arguments (const GeneralT&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT type_id_t type_id(const array &a)
- PNINEXUS_EXPORT type_id_t type_id(const value &rv)
- pni::type_id_t type_id() const
- pni::type_id_t type_id() const
- pni::type_id_t type_id() const
- type_id_t type_id() const
- type_id_t type_id() const
- type_id_t type_id() const
- type_id_t type_id() const
- type_id_t type_id() const = 0
- type_id_t type_id() const = 0
- type_id_t type_id() const noexcept
pni::type_class_t
¶
Warning
doxygenenum: Cannot find enum “pni::type_class_t” in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml
pni::bool_t
¶
-
class bool_t¶
boolean type
There is a particular problem when using the standard bool type in connection with std::vector. The std::vector template is overloaded for bool in a sense that each boolean value is stored in an individual bit. Thus elements cannot be addressed. Thus std::vector<bool> cannot be used in connection with libpninexus. This type prevents the C++ compiler to overload std:vector<bool_t> making boolean values available for libpninexus.
pni::none
¶
-
struct none¶
none type
This type is used in situations where a type for initialization is required but not provided (or at the moment not available). It thus denotes the absence of type information.
Operators¶
Warning
doxygenfunction: Unable to resolve function “operator<<” with arguments (std::ostream&, const none&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const Node &n)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_argument_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_help_request &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const cli_option_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const column_info &ci)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const exception_record &rec)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const file_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const filter_not_available &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const image_info &i)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const index_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const invalid_object_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const io_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const iterator_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const key_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const link_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const memory_allocation_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const memory_not_allocated_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const not_implemented_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const object_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const parser_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const range_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const shape_mismatch_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const size_mismatch_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const slice &s)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const tiff_reader &r)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const type_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const value_error &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Path &p)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Path::Element &e)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const PathObject::Type &type)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const Version &version)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const bool_t &b)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream&, const exception&)
- std::ostream &operator<<(std::ostream &o, const ifd &image_dir)
- std::ostream &operator<<(std::ostream &o, const ifd_entry &e)
- std::ostream &operator<<(std::ostream &o, const strip_reader &r)
- std::ostream &operator<<(std::ostream &o, const tiff_read_error &e)
- template<typename ArrayT> std::ostream &operator<<(std::ostream &stream, const array_view<ArrayT> &v)
- template<typename ElementT> std::ostream &operator<<(std::ostream &os, const scalar<ElementT> &s)
- template<typename IntegerT> std::ostream &operator<<(std::ostream &o, const rational<IntegerT> &r)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> std::ostream &operator<<(std::ostream &o, const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &a)
Warning
doxygenfunction: Unable to resolve function “operator>>” with arguments (std::istream&, none&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT std::istream &operator>>(std::istream &i, Path &p)
- PNINEXUS_EXPORT std::istream &operator>>(std::istream &stream, Version &version)
- PNINEXUS_EXPORT std::istream &operator>>(std::istream &stream, bool_t &b)
- PNINEXUS_EXPORT std::istream &operator>>(std::istream &stream, hdf5::datatype::EBool &b)
- template<typename ArrayT> std::istream &operator>>(std::istream &stream, array_view<ArrayT> &v)
- template<typename ElementT> std::istream &operator>>(std::istream &is, scalar<ElementT> &s)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> std::istream &operator>>(std::istream &is, mdarray<StorageT, IndexMapT, InplaceArithmeticT> &a)
Warning
doxygenfunction: Unable to resolve function “operator==” with arguments (const none&, const none&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT bool operator==(const Path &lhs, const Path &rhs)
- PNINEXUS_EXPORT bool operator==(const Path::Element &a, const Path::Element &b)
- PNINEXUS_EXPORT bool operator==(const Version &lhs, const Version &rhs)
- PNINEXUS_EXPORT bool operator==(const complex128 &a, const complex32 &b)
- PNINEXUS_EXPORT bool operator==(const complex128 &a, const complex64 &b)
- PNINEXUS_EXPORT bool operator==(const complex32 &a, const complex128 &b)
- PNINEXUS_EXPORT bool operator==(const complex32 &a, const complex64 &b)
- PNINEXUS_EXPORT bool operator==(const complex64 &a, const complex128 &b)
- PNINEXUS_EXPORT bool operator==(const complex64 &a, const complex32 &b)
- PNINEXUS_EXPORT bool operator==(const slice &lhs, const slice &rhs)
- bool operator==(const iterator_type &a)
- bool operator==(const iterator_type &a)
- bool operator==(const iterator_type &a)
- bool operator==(const iterator_type &a) const
- template<typename ArrayT> bool operator==(const array_view<ArrayT> &a, const array_view<ArrayT> &b)
- template<typename ElementT> bool operator==(const scalar<ElementT> &a, const scalar<ElementT> &b)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> bool operator==(const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &b1, const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &b2)
Warning
doxygenfunction: Unable to resolve function “operator!=” with arguments (const none&, const none&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT bool operator!=(const Path &lhs, const Path &rhs)
- PNINEXUS_EXPORT bool operator!=(const Path::Element &a, const Path::Element &b)
- PNINEXUS_EXPORT bool operator!=(const Version &lhs, const Version &rhs)
- PNINEXUS_EXPORT bool operator!=(const complex128 &a, const complex32 &b)
- PNINEXUS_EXPORT bool operator!=(const complex128 &a, const complex64 &b)
- PNINEXUS_EXPORT bool operator!=(const complex32 &a, const complex128 &b)
- PNINEXUS_EXPORT bool operator!=(const complex32 &a, const complex64 &b)
- PNINEXUS_EXPORT bool operator!=(const complex64 &a, const complex128 &b)
- PNINEXUS_EXPORT bool operator!=(const complex64 &a, const complex32 &b)
- PNINEXUS_EXPORT bool operator!=(const slice &lhs, const slice &rhs)
- bool operator!=(const iterator_type &a)
- bool operator!=(const iterator_type &a)
- bool operator!=(const iterator_type &a)
- bool operator!=(const iterator_type &a) const
- template<typename ArrayT> bool operator!=(const array_view<ArrayT> &a, const array_view<ArrayT> &b)
- template<typename ElementT> bool operator!=(const scalar<ElementT> &a, const scalar<ElementT> &b)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> bool operator!=(const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &b1, const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &b2)
pni::binary_t
¶
-
template<typename NativeT>
class binary_t¶ Binary data type.
This class represents a binary data type. Typically binary data is represented by a typedef to an unsigned char type. However, this has an inconvenience: the unsigned char and the typedef for binary are indistinguishable by the compiler. Thus, such a binary type cannot be used for function overloading or for template specialization - it would always be treated by the compiler as the underlying unsigned char type.
To circumvent this problem
libpninexus
defines this binary type which can be used instead of a simple typedef to unsigned char. The BinaryType template has several advantages:it can be distinguished from the type used to store binary data
all arithmetic operators are stripped from the type.
- Template Parameters:
NativeT – native type used to store binary data
Public Functions
-
inline explicit binary_t()¶
default constructor
-
inline binary_t(const storage_type &value)¶
constructor
-
inline binary_t(const binary_t<storage_type> &o)¶
copy constructor
Warning
doxygenfunction: Unable to resolve function “pni::operator<<” with arguments (std::ostream&, const binary_t<NativeT>&) in doxygen xml output for project “libpninexus” from directory: /home/p00user/build/doc/api/xml. Potential matches:
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const column_info &ci)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const exception_record &rec)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &o, const slice &s)
- PNINEXUS_EXPORT std::ostream &operator<<(std::ostream &stream, const bool_t &b)
- template<typename ArrayT> std::ostream &operator<<(std::ostream &stream, const array_view<ArrayT> &v)
- template<typename ElementT> std::ostream &operator<<(std::ostream &os, const scalar<ElementT> &s)
- template<typename StorageT, typename IndexMapT, typename InplaceArithmeticT> std::ostream &operator<<(std::ostream &o, const mdarray<StorageT, IndexMapT, InplaceArithmeticT> &a)