6#include <bond/core/config.h>
9#include "detail/validate.h"
23template <
typename Protocols = BuiltInProtocols>
31 bool identical =
true;
32 detail::ValidateStruct(r_src, r_dst, NULL, identical);
44template <
typename Protocols = BuiltInProtocols>
48 Apply<Protocols>(detail::SchemaValidator<Protocols>(), src);
51 src.template Deserialize<Protocols>(schema);
63template <
typename Protocols = BuiltInProtocols>
67 Apply<Protocols>(detail::SchemaValidator<Protocols>(), dst);
70 dst.template Deserialize<Protocols>(schema);
83template <
typename Protocols = BuiltInProtocols,
typename T1,
typename T2>
86 return Validate<Protocols>(s1, s2) & Validate<Protocols>(s2, s1);
Represents runtime schema See User's Manual
Definition: runtime_schema.h:26
const SchemaDef & GetSchema() const
Returns constant reference to SchemaDef object.
Definition: runtime_schema.h:64
Represents data for a struct T known at compile-time.
Definition: bonded.h:63
namespace bond
Definition: apply.h:17
bool ValidateTwoWay(const T1 &s1, const T2 &s2)
Validate two-way compatibility of schemas.
Definition: validate.h:84
bool Validate(const RuntimeSchema &src, const RuntimeSchema &dst)
Validate compatibility of schemas.
Definition: validate.h:24