tket
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations
Circuit.hpp File Reference
#include <algorithm>
#include <functional>
#include <list>
#include <map>
#include <memory>
#include <optional>
#include <ostream>
#include <sstream>
#include <string>
#include <tkassert/Assert.hpp>
#include <tklog/TketLog.hpp>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
#include "Boxes.hpp"
#include "Command.hpp"
#include "Conditional.hpp"
#include "DAGDefs.hpp"
#include "ResourceData.hpp"
#include "Slices.hpp"
#include "tket/Gate/GatePtr.hpp"
#include "tket/Gate/OpPtrFunctions.hpp"
#include "tket/Utils/Json.hpp"
#include "tket/Utils/SequencedContainers.hpp"
#include "tket/Utils/UnitID.hpp"
Include dependency graph for Circuit.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tket::BoundaryElement
 
struct  tket::TagID
 
struct  tket::TagIn
 
struct  tket::TagOut
 
struct  tket::TagType
 
struct  tket::TagReg
 
struct  tket::Subcircuit
 Structure to describe a convex region of the interaction graph. More...
 
struct  tket::TraversalPoint
 
class  tket::CircuitInequality
 
class  tket::CircuitInvalidity
 
class  tket::Unsupported
 
class  tket::MissingVertex
 
class  tket::MissingEdge
 
class  tket::SimpleOnly
 
class  tket::Circuit
 A circuit. More...
 
class  tket::Circuit::CommandIterator
 

Namespaces

namespace  tket
 Defines tket::DeviceCharacterisation, used in NoiseAwarePlacement and in commute_SQ_gates_through_SWAPS as a simple device noise model.
 

Typedefs

typedef std::vector< EdgeVectket::BundleVec
 
typedef std::vector< Slicetket::SliceVec
 
typedef std::vector< VertPorttket::QPathDetailed
 
typedef std::unordered_map< Vertex, Vertextket::vertex_map_t
 
typedef std::map< Edge, Edgetket::edge_map_t
 
typedef boost::multi_index::multi_index_container< BoundaryElement, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< TagID >, boost::multi_index::member< BoundaryElement, UnitID, &BoundaryElement::id_ > >, boost::multi_index::ordered_unique< boost::multi_index::tag< TagIn >, boost::multi_index::member< BoundaryElement, Vertex, &BoundaryElement::in_ > >, boost::multi_index::ordered_unique< boost::multi_index::tag< TagOut >, boost::multi_index::member< BoundaryElement, Vertex, &BoundaryElement::out_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< TagType >, boost::multi_index::const_mem_fun< BoundaryElement, UnitType, &BoundaryElement::type > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< TagReg >, boost::multi_index::const_mem_fun< BoundaryElement, std::string, &BoundaryElement::reg_name > > > > tket::boundary_t
 
typedef std::unordered_map< unsigned, unsigned > tket::permutation_t
 

Enumerations

enum  tket::ReverseType { tket::dagger = 1 , tket::transpose = 2 }