summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nltypes.h
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-05-18 00:20:09 +0200
committer couriersud <couriersud@gmx.org>2020-05-20 07:59:00 +0200
commit11af744ef3ed55003b54dec339b49f651c369965 (patch)
tree28f8fe9a62ca8be1911e8342800b838ca2e386ff /src/lib/netlist/nltypes.h
parent40628bc2693c81501c0b2e08122fa9c25e7f1818 (diff)
netlist: improve syntax of generic device descriptors. (nw)
Diffstat (limited to 'src/lib/netlist/nltypes.h')
-rw-r--r--src/lib/netlist/nltypes.h83
1 files changed, 43 insertions, 40 deletions
diff --git a/src/lib/netlist/nltypes.h b/src/lib/netlist/nltypes.h
index 2e1a4227177..7b45155ccfe 100644
--- a/src/lib/netlist/nltypes.h
+++ b/src/lib/netlist/nltypes.h
@@ -162,54 +162,57 @@ namespace netlist
template <typename T> inline constexpr netlist_time NLTIME_FROM_US(T &&t) noexcept { return netlist_time::from_usec(t); }
template <typename T> inline constexpr netlist_time NLTIME_FROM_MS(T &&t) noexcept { return netlist_time::from_msec(t); }
- /// \brief: used to hold one static netlist_time value
- ///
- template<netlist_time::internal_type value0>
- struct times_ns1
+ struct desc_base
{
- static constexpr netlist_time value(std::size_t N = 0)
+ /// \brief: used to hold one static netlist_time value
+ ///
+ template<netlist_time::internal_type value0>
+ struct times_ns1
{
- plib::unused_var(N);
- return NLTIME_FROM_NS(value0);
- }
- };
+ static constexpr netlist_time value(std::size_t N = 0)
+ {
+ plib::unused_var(N);
+ return NLTIME_FROM_NS(value0);
+ }
+ };
- template <netlist_time::internal_type value0>
- using time_ns = times_ns1<value0>;
+ template <netlist_time::internal_type value0>
+ using time_ns = times_ns1<value0>;
- /// \brief: used to hold two static netlist_time values
- ///
- template<netlist_time::internal_type value0,
- netlist_time::internal_type value1>
- struct times_ns2
- {
- static constexpr netlist_time value(std::size_t N)
+ /// \brief: used to hold two static netlist_time values
+ ///
+ template<netlist_time::internal_type value0,
+ netlist_time::internal_type value1>
+ struct times_ns2
{
- return NLTIME_FROM_NS(N == 0 ? value0 : value1);
- }
- };
+ static constexpr netlist_time value(std::size_t N)
+ {
+ return NLTIME_FROM_NS(N == 0 ? value0 : value1);
+ }
+ };
- /// \brief: used to hold two static netlist_time values
- ///
- template<netlist_time::internal_type value0,
- netlist_time::internal_type value1,
- netlist_time::internal_type value2>
- struct times_ns3
- {
- static constexpr netlist_time value(std::size_t N)
+ /// \brief: used to hold two static netlist_time values
+ ///
+ template<netlist_time::internal_type value0,
+ netlist_time::internal_type value1,
+ netlist_time::internal_type value2>
+ struct times_ns3
{
- return NLTIME_FROM_NS(N == 0 ? value0 :
- N == 1 ? value1 :
- value2);
- }
- };
+ static constexpr netlist_time value(std::size_t N)
+ {
+ return NLTIME_FROM_NS(N == 0 ? value0 :
+ N == 1 ? value1 :
+ value2);
+ }
+ };
- /// \brief: used define a constant in device description struct
- ///
- /// See the 74125 implementation
- ///
- template <std::size_t V>
- using desc_const = std::integral_constant<std::size_t, V>;
+ /// \brief: used define a constant in device description struct
+ ///
+ /// See the 74125 implementation
+ ///
+ template <std::size_t V>
+ using desc_const = std::integral_constant<std::size_t, V>;
+ };
} // namespace netlist