xo-facet: typeseq strongly typed

This commit is contained in:
Roland Conybeare 2026-01-02 09:52:16 -05:00
commit fb14fcad15
31 changed files with 151 additions and 72 deletions

View file

@ -34,6 +34,8 @@ public:
/** @defgroup scm-sequence-type-traits **/
///@{
// types
/** integer identifying a type **/
using typeseq = xo::facet::typeseq;
/** type for length of a sequence **/
using size_type = std::size_t;
/** facet for types with GC support **/
@ -44,7 +46,7 @@ public:
///@{
// const methods
/** RTTI: unique id# for actual runtime data representation **/
virtual int32_t _typeseq() const noexcept = 0;
virtual typeseq _typeseq() const noexcept = 0;
/** true iff sequence is empty **/
virtual bool is_empty(Copaque data) const noexcept = 0;
/** true iff sequence is finite **/
@ -72,4 +74,4 @@ using ISequence_ImplType = xo::facet::FacetImplType<ASequence, DRepr>;
} /*namespace scm*/
} /*namespace xo*/
/* */
/* */