Bridges-C++  3.4.2
Bridges(C++ API)
Classes | Public Member Functions | List of all members
bridges::datastructure::CircDLelement< E > Class Template Reference

#include <CircDLelement.h>

Inheritance diagram for bridges::datastructure::CircDLelement< E >:
bridges::datastructure::DLelement< E > bridges::datastructure::SLelement< E > bridges::datastructure::Element< E > bridges::datastructure::DataStructure

Detailed Description

template<typename E>
class bridges::datastructure::CircDLelement< E >

This class can be used to instantiate Circular Doubly Linked List Elements.

Structurally they are the same as doubly linked elements except that each node constructed with the next and the previous pointers pointing to itself.

User's implementation of the circularly linked list needs to ensure that the last node's next pointer points to the first node and the first node's previous pointer points to the last node, as the visualization generation is dependent on this.

Elements have labels (string) that are displayed on the visualization. Elements take an generic object E as a user defined parameter, which can any native type or object. Elements contain a visualizer object for setting visual attributes (color, shape, opacity, size), necessary for displaying them in a web browser

See also
There is a tutorial about Circular Doubly Linked Lists : https://bridgesuncc.github.io/tutorials/CircularDoublyLinkedList.html
Author
Kalpathi Subramanian
Date
10/5/16, 7/12/19

Classes

class  CircDLelement_constlisthelper
 these are helper classes for CircDLelement for easy iteration in a range for loop. It is not meant to be created by the bridges user. But it may be returned by Bridges to provide an STL compliant list API. More...
 
class  CircDLelement_listhelper
 these are helper classes for CircDLelement for easy iteration in a range for loop. It is not meant to be created by the bridges user. But it may be returned by Bridges to provide an STL compliant list API. More...
 

Public Member Functions

 CircDLelement ()
 
 CircDLelement (E e, string label)
 
 CircDLelement (CircDLelement< E > next, CircDLelement< E > prev)
 
 CircDLelement (E e, CircDLelement< E > next, CircDLelement< E > prev)
 
virtual const string getDStype () const override
 
const CircDLelement< E > * getNext () const override
 
virtual CircDLelement< E > * getNext () override
 
void setNext (CircDLelement< E > *next)
 
CircDLelement< E > * getPrev () override
 
const CircDLelement< E > * getPrev () const override
 
void setPrev (CircDLelement< E > *prev)
 
- Public Member Functions inherited from bridges::datastructure::DLelement< E >
 DLelement (DLelement *n, DLelement *p=nullptr, const E &val=E(), const string &lab=string())
 
 DLelement (const E &val=E(), const string &lab=string())
 
void setNext (DLelement *n)
 
virtual void setPrev (DLelement *p)
 
- Public Member Functions inherited from bridges::datastructure::SLelement< E >
 SLelement (SLelement *next, const E &val=E(), const string &lab=string())
 Constructs an slelement with the provided value. More...
 
 SLelement (const E &val=E(), const string &lab=string())
 Constructs an slelement with the provided value. More...
 
void setNext (SLelement *n)
 
- Public Member Functions inherited from bridges::datastructure::Element< E >
 Element (const E &val=E(), const string &lab=string())
 
 Element (const Element &e)
 
Elementoperator= (const Element &e)
 
E & operator= (E const &e)
 
virtual ~Element ()
 
ElementVisualizergetVisualizer ()
 Get the element visualizer object. More...
 
const ElementVisualizergetVisualizer () const
 Get the element visualizer object - constant version. More...
 
LinkVisualizergetLinkVisualizer (const Element *el)
 Returns the LinkVisualizer of element. More...
 
LinkVisualizergetLinkVisualizer (const Element *el) const
 Returns the LinkVisualizer of element. More...
 
string const & getLabel () const
 Gets the label of this element. More...
 
void setLabel (const string &lab)
 Sets label of this element. More...
 
E const & getValue () const
 Gets the object held in the generic object E. More...
 
E & getValue ()
 Gets the object held in the generic object E. More...
 
void setValue (const E &val)
 Sets generic object to "val". More...
 
void setSize (const double &sz)
 Sets size of the element. More...
 
double getSize () const
 Get element size. More...
 
void setColor (const Color &col)
 Set the color of the Element. More...
 
void setColor (const string col)
 Set the color by name. More...
 
Color getColor () const
 Get the current color of the element. More...
 
void setOpacity (double opacity)
 Set opacity of element - use the 4th color component. More...
 
double getOpacity ()
 
void setShape (const Shape &shp)
 Set the shape of the element. More...
 
Shape getShape () const
 Returns the shape of the element. More...
 
void setLocation (const double &locX, const double &locY)
 Sets the location attributes of an element. More...
 
double getLocationX () const
 Gets the X coordinate of the location. More...
 
double getLocationY () const
 Gets the Y coordinate of the location. More...
 
- Public Member Functions inherited from bridges::datastructure::DataStructure
virtual ~DataStructure ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from bridges::datastructure::SLelement< E >
virtual const pair< string, string > generateJSON (vector< const SLelement< E > * > nodes) const
 Generates the JSON representation of the element. More...
 
virtual void getListElements (vector< const SLelement< E > * > &nodes) const
 Get the list of nodes. More...
 
- Protected Member Functions inherited from bridges::datastructure::Element< E >
virtual const string getElementRepresentation () const
 Gets the JSON string of the element representation. More...
 
- Static Protected Member Functions inherited from bridges::datastructure::Element< E >
static const string getLinkRepresentation (const LinkVisualizer &lv, const string &src, const string &dest)
 
- Protected Attributes inherited from bridges::datastructure::SLelement< E >
SLelementnext = nullptr
 
- Protected Attributes inherited from bridges::datastructure::Element< E >
unordered_map< Element *, LinkVisualizerlinks
 

Constructor & Destructor Documentation

◆ CircDLelement() [1/4]

template<typename E >
bridges::datastructure::CircDLelement< E >::CircDLelement ( )
inline

Constructs an empty CircDLelement with next and prev pointers set to itself

◆ CircDLelement() [2/4]

template<typename E >
bridges::datastructure::CircDLelement< E >::CircDLelement ( e,
string  label 
)
inline

Constructs a CircDLelement labeled "label", holding an object "e", with next and prev pointers set to itself

Parameters
ethe genereic object that this CircDLelement is holding
labelthe label for this CircDLelement that shows up on the Bridges visualization

◆ CircDLelement() [3/4]

template<typename E >
bridges::datastructure::CircDLelement< E >::CircDLelement ( CircDLelement< E >  next,
CircDLelement< E >  prev 
)
inline

Constructs an empty DLelement with the next pointer set to the CircDLelement "next" and the prev pointer set to CircDLelement "prev".

Parameters
nextthe DLelement that should be assigned to the next pointer
prevthe DLelement that should be assigned to the prev pointer

◆ CircDLelement() [4/4]

template<typename E >
bridges::datastructure::CircDLelement< E >::CircDLelement ( e,
CircDLelement< E >  next,
CircDLelement< E >  prev 
)
inline

Constructs a DLelement holding an object "e", with the next pointer set to the DLelement "next" and the prev pointer set to DLelement "prev".

Parameters
ethe genereic object that this CircDLelement is holding
nextthe CircDLelement that should be assigned to the next pointer
prevthe CircDLelement that should be assigned to the prev pointer

Member Function Documentation

◆ getDStype()

template<typename E >
virtual const string bridges::datastructure::CircDLelement< E >::getDStype ( ) const
inlineoverridevirtual

This method gets the data structure type

Returns
The date structure type as a string

Reimplemented from bridges::datastructure::DLelement< E >.

◆ getNext() [1/2]

template<typename E >
const CircDLelement<E>* bridges::datastructure::CircDLelement< E >::getNext ( ) const
inlineoverridevirtual

This method returns the pointer to the next DLelement - const version

Returns
the DLelement assigned to the next pointer

Reimplemented from bridges::datastructure::DLelement< E >.

◆ getNext() [2/2]

template<typename E >
virtual CircDLelement<E>* bridges::datastructure::CircDLelement< E >::getNext ( )
inlineoverridevirtual

Retrieves the next CircSLelement

Returns
CircSLelement<E> assigned to next

Reimplemented from bridges::datastructure::DLelement< E >.

◆ getPrev() [1/2]

template<typename E >
const CircDLelement<E>* bridges::datastructure::CircDLelement< E >::getPrev ( ) const
inlineoverridevirtual

This method returns the pointer to the previous DLelement

Returns
the DLelement assigned to the prev pointer

Reimplemented from bridges::datastructure::DLelement< E >.

◆ getPrev() [2/2]

template<typename E >
CircDLelement<E>* bridges::datastructure::CircDLelement< E >::getPrev ( )
inlineoverridevirtual

This method returns the pointer to the previous DLelement

Returns
the DLelement assigned to the prev pointer

Reimplemented from bridges::datastructure::DLelement< E >.

◆ setNext()

template<typename E >
void bridges::datastructure::CircDLelement< E >::setNext ( CircDLelement< E > *  next)
inline

This method sets the pointer to the next DLelement

Parameters
nextthe DLelement that should be assigned to the next pointer

◆ setPrev()

template<typename E >
void bridges::datastructure::CircDLelement< E >::setPrev ( CircDLelement< E > *  prev)
inline

This method sets the pointer to the previous DLelement

Parameters
prevthe DLelement that should be assigned to the prev pointer

The documentation for this class was generated from the following file: