CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
index_id.h
Go to the documentation of this file.
1// -*- C++ -*-
12#ifndef __cxz_index_id_h__
13#define __cxz_index_id_h__
14
15#include "base/base.h"
16
17namespace CNORXZ
18{
19
20 // if I == 0: no static comparison; fall back to usual runtime comparison of mId
21 template <SizeT I = 0>
22 class IndexId
23 {
24 private:
25 PtrId mId = 0;
26
27 public:
29
30 explicit constexpr IndexId(PtrId id);
31
32 constexpr const PtrId& id() const;
33
34 template <SizeT J>
35 constexpr decltype(auto) operator==(const IndexId<J>& a) const;
36
37 template <SizeT J>
38 constexpr decltype(auto) operator!=(const IndexId<J>& a) const;
39 };
40}
41
42#endif
basic headers
DEFAULT_MEMBERS(IndexId)
constexpr const PtrId & id() const
Definition index_id.cc.h:26
constexpr IndexId(PtrId id)
Definition index_id.cc.h:21
std::intptr_t PtrId
Definition types.h:35