template<typename Concept, typename T = _self> class any;
template<typename Concept, typename T> class any<, >;
template<typename Concept, typename T> class any<, >;
template<typename Concept, typename T> class any<, >;
typedef any< ;
typedef any< ;
typedef any< ;
}
}
template<typename T, typename Concept, typename Tag>
(any< );
template<typename T, typename Concept, typename Tag>
(any< );
template<typename T, typename Concept, typename Tag>
(any< );
template<typename T, typename Concept, typename Tag>
(any< );
}
}
template<typename Concept> class binding;
}
}
template<typename Concept, typename T>
binding< (any< );
}
}
template<typename Concept, typename Op, U>
(binding< , , );
template<typename Op, U> (, );
}
}
template<typename Concept, typename Op, U>
(binding< , , );
template<typename Op, U> (, );
}
}
template<typename Concept, typename Base, typename ID,
typename Enable>
struct concept_interface;
}
}
template<typename Metafunction> struct deduced;
}
}
template<typename T> struct derived;
typedef ;
}
}
template<typename R, typename Any> ();
template<typename R, typename Any, typename Map>
(, static_binding< );
}
}
template<typename T> ();
}
}
template<typename Sub, typename Super, typename PlaceholderMap>
struct is_subconcept;
}
}
template<typename T = _self> struct incrementable;
template<typename T = _self> struct decrementable;
template<typename T = _self, typename R> struct complementable;
template<typename T = _self, typename R> struct negatable;
template<typename R, typename T = _self> struct dereferenceable;
template<typename T = _self, typename U, typename R> struct addable;
template<typename T = _self, typename U, typename R> struct subtractable;
template<typename T = _self, typename U, typename R> struct multipliable;
template<typename T = _self, typename U, typename R> struct dividable;
template<typename T = _self, typename U, typename R> struct modable;
template<typename T = _self, typename U, typename R> struct left_shiftable;
template<typename T = _self, typename U, typename R> struct right_shiftable;
template<typename T = _self, typename U, typename R> struct bitandable;
template<typename T = _self, typename U, typename R> struct bitorable;
template<typename T = _self, typename U, typename R> struct bitxorable;
template<typename T = _self, typename U> struct add_assignable;
template<typename T = _self, typename U> struct subtract_assignable;
template<typename T = _self, typename U> struct multiply_assignable;
template<typename T = _self, typename U> struct divide_assignable;
template<typename T = _self, typename U> struct mod_assignable;
template<typename T = _self, typename U> struct left_shift_assignable;
template<typename T = _self, typename U> struct right_shift_assignable;
template<typename T = _self, typename U> struct bitand_assignable;
template<typename T = _self, typename U> struct bitor_assignable;
template<typename T = _self, typename U> struct bitxor_assignable;
template<typename T = _self, typename U> struct equality_comparable;
template<typename T = _self, typename U> struct less_than_comparable;
template<typename R, typename T = _self, typename N> struct subscriptable;
template<typename Os, typename T = _self> struct ostreamable;
template<typename Is, typename T = _self> struct istreamable;
}
}
template<typename Concept, typename Map>
(static_binding< );
template<typename Concept, typename T> ();
}
}
template<typename Concept, typename Op, U>
(binding< , , );
template<typename Op, U> (, );
}
}
template<typename T, typename U> struct same_type;
}
}
template<typename Concept, T> class tuple;
template< N, typename Concept, T>
any< (tuple< );
template< N, typename Concept, T>
any< (tuple< );
}
}
template<typename Concept, typename T>
(any< );
template<typename T, typename Concept>
(binding< );
}
}