ProteoWizard
Public Member Functions | Public Attributes | Private Attributes
pwiz::data::Diff< object_type, config_type, object_result_type > Struct Template Reference

Calculate diffs of objects in a ProteoWizard data model hierarchy. More...

#include <diff_std.hpp>

List of all members.

Public Member Functions

 Diff (const config_type &config=config_type())
 Diff (const object_type &a, const object_type &b, const config_type &config=config_type())
 operator bool ()
 conversion to bool, with same semantics as *nix diff command: true == different false == not different
Diffoperator() (const object_type &a, const object_type &b)

Public Attributes

object_result_type a_b
object_result_type b_a

Private Attributes

config_type config_

Detailed Description

template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
struct pwiz::data::Diff< object_type, config_type, object_result_type >

Calculate diffs of objects in a ProteoWizard data model hierarchy.

A diff between two objects a and b calculates the set differences aand b.

The Diff struct acts as a functor, but also stores the results of the diff calculation.

The bool conversion operator is provided to indicate whether the two objects are different (either aor bis non-empty).

object_type requirements: object_type a; a.empty(); pwiz::data::diff::diff(const object_type& a, const object_type& b, object_result_type& a_b, object_result_type& b_a);

config_type must be pwiz::data::diff::BaseDiffConfig or derived from it

Definition at line 142 of file diff_std.hpp.


Constructor & Destructor Documentation

template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
pwiz::data::Diff< object_type, config_type, object_result_type >::Diff ( const config_type &  config = config_type())
inline

Definition at line 144 of file diff_std.hpp.

: config_(config)
{}
template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
pwiz::data::Diff< object_type, config_type, object_result_type >::Diff ( const object_type &  a,
const object_type &  b,
const config_type &  config = config_type() 
)
inline

Member Function Documentation

template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
pwiz::data::Diff< object_type, config_type, object_result_type >::operator bool ( )
inline

conversion to bool, with same semantics as *nix diff command: true == different false == not different

Definition at line 162 of file diff_std.hpp.

References pwiz::data::Diff< object_type, config_type, object_result_type >::a_b, and pwiz::data::Diff< object_type, config_type, object_result_type >::b_a.

{return !(a_b.empty() && b_a.empty());}
template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
Diff& pwiz::data::Diff< object_type, config_type, object_result_type >::operator() ( const object_type &  a,
const object_type &  b 
)
inline

Member Data Documentation

template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
object_result_type pwiz::data::Diff< object_type, config_type, object_result_type >::a_b
template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
object_result_type pwiz::data::Diff< object_type, config_type, object_result_type >::b_a
template<typename object_type, typename config_type = BaseDiffConfig, typename object_result_type = object_type>
config_type pwiz::data::Diff< object_type, config_type, object_result_type >::config_
private

The documentation for this struct was generated from the following file: