Quantum++  v1.2
A modern C++11 quantum computing library
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cqpp::internal::Display_Impl_
 Cqpp::internal::IOManipEigen
 Cqpp::internal::EqualEigenFunctor for comparing Eigen expressions for equality
 Cstd::exceptionSTL class
 Cqpp::exception::ExceptionBase class for generating Quantum++ custom exceptions
 Cqpp::exception::CustomExceptionCustom exception
 Cqpp::exception::DimsInvalidInvalid dimension(s) exception
 Cqpp::exception::DimsMismatchCvectorDimension(s) mismatch column vector size exception
 Cqpp::exception::DimsMismatchMatrixDimension(s) mismatch matrix size exception
 Cqpp::exception::DimsMismatchRvectorDimension(s) mismatch row vector size exception
 Cqpp::exception::DimsMismatchVectorDimension(s) mismatch vector size exception
 Cqpp::exception::DimsNotEqualDimensions not equal exception
 Cqpp::exception::DuplicatesSystem (e.g. std::vector) has duplicates exception
 Cqpp::exception::InvalidIteratorInvalid iterator
 Cqpp::exception::MatrixMismatchSubsysMatrix mismatch subsystems exception
 Cqpp::exception::MatrixNotCvectorMatrix is not a column vector exception
 Cqpp::exception::MatrixNotRvectorMatrix is not a row vector exception
 Cqpp::exception::MatrixNotSquareMatrix is not square exception
 Cqpp::exception::MatrixNotSquareNorCvectorMatrix is not square nor column vector exception
 Cqpp::exception::MatrixNotSquareNorRvectorMatrix is not square nor row vector exception
 Cqpp::exception::MatrixNotSquareNorVectorMatrix is not square nor vector exception
 Cqpp::exception::MatrixNotVectorMatrix is not a vector exception
 Cqpp::exception::NoCodewordCodeword does not exist exception
 Cqpp::exception::NotBipartiteNot bi-partite exception
 Cqpp::exception::NotImplementedCode not yet implemented
 Cqpp::exception::NotQubitCvectorColumn vector is not 2 x 1 exception
 Cqpp::exception::NotQubitMatrixMatrix is not 2 x 2 exception
 Cqpp::exception::NotQubitRvectorRow vector is not 1 x 2 exception
 Cqpp::exception::NotQubitSubsysSubsystems are not qubits exception
 Cqpp::exception::NotQubitVectorVector is not 2 x 1 nor 1 x 2 exception
 Cqpp::exception::OutOfRangeArgument out of range exception
 Cqpp::exception::PermInvalidInvalid permutation exception
 Cqpp::exception::PermMismatchDimsPermutation mismatch dimensions exception
 Cqpp::exception::QuditAlreadyMeasuredQudit was already measured exception
 Cqpp::exception::SizeMismatchSize mismatch exception
 Cqpp::exception::SubsysMismatchDimsSubsystems mismatch dimensions exception
 Cqpp::exception::TypeMismatchType mismatch exception
 Cqpp::exception::UndefinedTypeNot defined for this type exception
 Cqpp::exception::UnknownUnknown exception
 Cqpp::exception::ZeroSizeObject has zero size exception
 Cfalse_type
 Cqpp::is_complex< T >Checks whether the type is a complex type
 Cqpp::is_iterable< T, typename >Checks whether T is compatible with an STL-like iterable container
 Cqpp::Bit_circuit::Gate_count
 Cqpp::QCircuit::GateStepOne step consisting only of gates/operators in the circuit
 Cqpp::internal::HashEigenFunctor for hashing Eigen expressions
 Cqpp::IDisplayAbstract class (interface) that mandates the definition of virtual std::ostream& display(std::ostream& os) const
 Cqpp::Dynamic_bitsetDynamic bitset class, allows the specification of the number of bits at runtime (unlike std::bitset<N>)
 Cqpp::Bit_circuitClassical reversible circuit simulator
 Cqpp::internal::IOManipEigen
 Cqpp::internal::IOManipPointer< PointerType >
 Cqpp::internal::IOManipRange< InputIterator >
 Cqpp::QCircuitQuantum circuit class
 Cqpp::QCircuit::iterator::value_type_
 Cqpp::QEngineQuantum circuit engine, executes qpp::QCircuit
 Cqpp::Timer< T, CLOCK_T >Chronometer
 Cqpp::IJSONAbstract class (interface) that mandates the definition of very basic JSON serialization support
 Cqpp::QCircuitQuantum circuit class
 Cqpp::QEngineQuantum circuit engine, executes qpp::QCircuit
 Cis_base_of
 Cqpp::is_matrix_expression< Derived >Checks whether the type is an Eigen matrix expression
 Cqpp::QCircuit::iteratorQuantum circuit bound-checking (safe) iterator
 Cqpp::make_void< Ts >Helper for qpp::to_void<> alias template
 Cqpp::QCircuit::MeasureStepOne step consisting only of measurements in the circuit
 Cqpp::NoiseBase< T >Base class for all noise models, derive your particular noise model
 Cqpp::NoiseBase< NoiseType::StateDependent >
 Cqpp::QubitAmplitudeDampingNoiseQubit amplitude damping noise, as described in Nielsen and Chuang
 Cqpp::QubitPhaseDampingNoiseQubit phase damping noise, as described in Nielsen and Chuang
 Cqpp::NoiseBase< NoiseType::StateIndependent >
 Cqpp::QubitBitFlipNoiseQubit bit flip noise
 Cqpp::QubitBitPhaseFlipNoiseQubit bit-phase flip (dephasing) noise
 Cqpp::QubitDepolarizingNoiseQubit depolarizing noise
 Cqpp::QubitPhaseFlipNoiseQubit phase flip (dephasing) noise
 Cqpp::QuditDepolarizingNoiseQudit depolarizing noise
 Cqpp::NoiseTypeContains template tags used to specify the noise type
 Cqpp::internal::Singleton< T >Singleton policy class, used internally to implement the singleton pattern via CRTP (Curiously recurring template pattern)
 Cqpp::internal::Singleton< const Codes >
 Cqpp::CodesConst Singleton class that defines quantum error correcting codes
 Cqpp::internal::Singleton< const Gates >
 Cqpp::GatesConst Singleton class that implements most commonly used gates
 Cqpp::internal::Singleton< const Init >
 Cqpp::InitConst Singleton class that performs additional initializations/cleanups
 Cqpp::internal::Singleton< const States >
 Cqpp::StatesConst Singleton class that implements most commonly used states
 Cqpp::internal::Singleton< RandomDevices >
 Cqpp::RandomDevicesSingleton class that manages the source of randomness in the library
 Cqpp::NoiseType::StateDependentTemplate tag, used whenever the noise is state-dependent
 Cqpp::NoiseType::StateIndependentTemplate tag, used whenever the noise is state-independent
 Ctrue_type
 Cqpp::is_complex< std::complex< T > >Checks whether the type is a complex number type, specialization for complex types
 Cqpp::is_iterable< T, to_void< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end()), decltype(*(std::declval< T >().begin()))> >Checks whether T is compatible with an STL-like iterable container, specialization for STL-like iterable containers