26         template <
typename Specification>
 
   29             template <
typename Output>
 
   30             friend bool write_dispatch (
 
   34                 return dispatch_write <Specification> (in.p_iFlags, out);
 
   52                 bool write (
char const*, std::size_t)
 
   61         template <
typename Specification, 
typename Stream>
 
   62         class input_flags_frame : std::reference_wrapper <Stream>
 
   65                 using type = type_extractor <Specification>;
 
   74                 input_flags_frame (Stream& stream, type flags)
 
   75                     : std::reference_wrapper <Stream> (stream),
 
   83                 bool check_flag (type 
const flag)
 const 
   85                     return p_iFlags & flag;
 
   91                 template <std::
size_t N>
 
   94                     return stream_read <N> (this->
get(), s);
 
  100                 bool read (
char* s, std::size_t n)
 
  113         template <
typename Type, 
typename... Specification>
 
  115             pack_container <Specification...>,
 
  116             pack_container <Specification...>,
 
  130             typename... Specification,
 
  135             Input& in, Output& out)
 
  138             if (!dispatch_read <Type> (in, flags))
 
  141             input_flags_frame <Type, Input> frame {in, flags};
 
  154             typename... Specification,
 
  159             Input 
const& in, Output& out)
 
  167             if (!
write(frame, out))