FAST.Framework  1.0.0
FNode.h
1 /******************************************************************************
2 **
3 ** FAST.Framework
4 **
5 ** Created: 2023-10-11
6 ** Author: Boris Fast
7 ** Mail: support@fast-framework.com
8 **
9 ******************************************************************************/
10 
11 #ifndef FNODE_H
12 #define FNODE_H
13 
14 using namespace std;
15 
16 #include "FObject.h"
17 #include "FString.h"
18 
22 template <typename T>
23 class FNode : public FObject
24 {
25  friend class FList<T>;
26 
27  public:
28  FNode(const T& data = 0, FNode<T>* last = 0, FNode<T>* next = 0)
29  : data(data), last(last), next(next) { }
30  virtual ~FNode() = default;
31 
32  inline const type_info& GetType() override { return typeid(FNode); }
33  inline FString GetName() const override
34  {
35  return typeid(FNode).name();
36  }
37 
38  private:
39  T data;
40  FNode<T>* last;
41  FNode<T>* next;
42 };
43 
44 #endif // FNODE_H
Definition: FList.h:26
Definition: FNode.h:24
FString GetName() const override
< Returns the name of object
Definition: FNode.h:33
const type_info & GetType() override
Returns the type info over object.
Definition: FNode.h:32
FNode(const T &data=0, FNode< T > *last=0, FNode< T > *next=0)
Definition: FNode.h:28
virtual ~FNode()=default
Destroy of object.
Definition: FObject.h:50
Definition: FString.h:22