cprover
sharing_node.h File Reference
#include <forward_list>
#include <type_traits>
#include "small_map.h"
#include "invariant.h"
#include "make_unique.h"
#include "small_shared_ptr.h"
#include "small_shared_two_way_ptr.h"
+ Include dependency graph for sharing_node.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sharing_node_innert< keyT, valueT, equalT >
 
class  d_internalt< keyT, valueT, equalT >
 
class  sharing_node_leaft< keyT, valueT, equalT >
 
class  d_containert< keyT, valueT, equalT >
 
class  sharing_node_baset
 
class  sharing_node_innert< keyT, valueT, equalT >
 
class  d_leaft< keyT, valueT, equalT >
 
class  sharing_node_leaft< keyT, valueT, equalT >
 

Macros

#define SN_SMALL_MAP   1
 
#define SN_SHARE_KEYS   0
 
#define SN_ASSERT(b)
 
#define SN_ASSERT_USE(v, b)   static_cast<void>(v);
 
#define SN_TYPE_PAR_DECL
 
#define SN_TYPE_PAR_DEF   template <typename keyT, typename valueT, typename equalT>
 
#define SN_TYPE_ARGS   keyT, valueT, equalT
 
#define SN_PTR_TYPE_ARGS   d_internalt<SN_TYPE_ARGS>, d_containert<SN_TYPE_ARGS>
 
#define SN_PTR_TYPE_ARG   d_leaft<SN_TYPE_ARGS>
 

Typedefs

typedef small_shared_two_way_pointeet< unsigned > d_baset
 

Functions

template<class T >
const T * as_const (T *t)
 

Detailed Description

Sharing node

Definition in file sharing_node.h.

Macro Definition Documentation

◆ SN_ASSERT

#define SN_ASSERT (   b)

Definition at line 45 of file sharing_node.h.

◆ SN_ASSERT_USE

#define SN_ASSERT_USE (   v,
 
)    static_cast<void>(v);

Definition at line 46 of file sharing_node.h.

◆ SN_PTR_TYPE_ARG

#define SN_PTR_TYPE_ARG   d_leaft<SN_TYPE_ARGS>

Definition at line 63 of file sharing_node.h.

◆ SN_PTR_TYPE_ARGS

#define SN_PTR_TYPE_ARGS   d_internalt<SN_TYPE_ARGS>, d_containert<SN_TYPE_ARGS>

Definition at line 61 of file sharing_node.h.

◆ SN_SHARE_KEYS

#define SN_SHARE_KEYS   0

Definition at line 27 of file sharing_node.h.

◆ SN_SMALL_MAP

#define SN_SMALL_MAP   1

Definition at line 23 of file sharing_node.h.

◆ SN_TYPE_ARGS

#define SN_TYPE_ARGS   keyT, valueT, equalT

Definition at line 59 of file sharing_node.h.

◆ SN_TYPE_PAR_DECL

#define SN_TYPE_PAR_DECL
Value:
template <typename keyT, \
typename valueT, \
typename equalT = std::equal_to<keyT>>

Definition at line 50 of file sharing_node.h.

◆ SN_TYPE_PAR_DEF

#define SN_TYPE_PAR_DEF   template <typename keyT, typename valueT, typename equalT>

Definition at line 55 of file sharing_node.h.

Typedef Documentation

◆ d_baset

Definition at line 73 of file sharing_node.h.

Function Documentation

◆ as_const()

template<class T >
const T* as_const ( T *  t)

Definition at line 66 of file sharing_node.h.