CobObj class
          #include <sources/headers/Cob.h>
        
        a crossingless two-sided (top/bottom) tangle, ie object of the cobordism category
An object consists of the number of top tangle ends, the number of bottom tangle ends, arcs (Arcs), a homological grading, and a quantum grading.
Constructors, destructors, conversion operators
Public functions
- void AddCap(const TE& i)
 - Crossingless tangle obtained by adding two extra ends before the tangle end (which should be at the tangle bottom) and connect them by an arc.
 - void AddCup(const TE& i)
 - Crossingless tangle obtained by joining the tangle end (which should be at the tangle bottom) to the next and removing the new closed component if there is one.
 - auto AddCupGivesClosedComponent(const TE& i) const -> bool
 - true if the two ends were connected (=new closed component); false if the two ends belonged to different arcs
 - auto arcs() const -> std::vector<TE>
 - arc-format for object, top=0
 - auto check() const -> bool
 - true if the object is a well-defined crossingless tangle
 - auto compatible_with(const CobObj obj) const -> bool
 - true if a cobordisms between these objects exist.
 - auto components_to(const CobObj& obj2) const -> IndexLL
 - list of components from one crossingless tangle to another
 - auto ends() const -> TE
 - total number of tangle ends
 - auto get_delta2() const -> Grading
 - twice the δ-grading of object
 - auto get_h() const -> Grading
 - homological grading of object
 - auto get_index() const -> size_t
 - number of top tangle ends
 - auto get_q() const -> Grading
 - quantum grading of object
 - auto get_strands() const -> TE
 - number of tangle strands
 - auto get_top() const -> TE
 - number of top tangle ends
 - auto h_is_even() const -> bool
 - true if the homological grading of object is even
 - auto operator!=(const CobObj& obj2) const -> bool
 - true if idempotents differ (ignore gradings)
 - auto operator==(const CobObj& obj2) const -> bool
 - true if idempotents coincide (ignore gradings)
 - void print() const
 - print representative of a cobordism object in terminal
 - void set_h(const Grading& new_h)
 - set homological grading of object
 - void set_q(const Grading& new_q)
 - set quantum grading of object
 - void shift_hq(const Grading& h_shift, const Grading& q_shift)
 - shift gradings of object
 - auto to_BNObj() const -> BNObj
 - corresponding object of the Bar-Natan algebra (BNObj); this only works for 2- or 4-ended tangles
 - auto to_string() const -> std::string
 - string representative of a cobordism object
 - auto to_svg(const bool& with_grading = true) const -> std::string
 - string representative of a cobordism object for svg file