
https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008/milena Index: ChangeLog from Nicolas Ballas <ballas@lrde.epita.fr> Add new properties. * mln/trait/image/props.hh: Add properties. * mln/core/image/image2d.hh: Update image2d properties. core/image/image2d.hh | 4 + trait/image/props.hh | 115 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 116 insertions(+), 3 deletions(-) Index: mln/trait/image/props.hh --- mln/trait/image/props.hh (revision 2541) +++ mln/trait/image/props.hh (working copy) @@ -76,10 +76,18 @@ // * value +// pw_io: /any/ +// | +// +-- read +// | +// +-- read_write + // value_access: /any/ // | // + -- direct // | +// +-- indirect +// | // + -- computed // value_storage:/any/ @@ -104,14 +112,36 @@ // \ | // -- + -- cell_and_value_wise -// * domain values - // value_io: /any/ // | // + -- read_only // | // + -- read_write +// value_alignement:/any/ +// | +// +-- with_grid +// | +// +-- no_aligned +// | +// +-- irrelevant + +// vw_io: /any/ +// | +// +-- read +// | +// +-- read_write + +// vw_set: /any/ +// | +// +-- /some/ +// | | +// | +-- uni +// | | +// | +-- multi +// | +// +-- none + // * site localization // localization: /any/ @@ -264,7 +294,7 @@ { struct any { protected: any() {} }; struct slow : any { std::string name() const { return "speed::slow"; } }; - struct fast : any { std::string name() const { return "speed::fast"; } }; + struct fast : any { std::string name() const { return "speedw::fast"; } }; struct fastest : fast { std::string name() const { return "speed::fastest"; } }; }; @@ -288,16 +318,21 @@ // | // + -- direct // | +// +-- indirect +// | // + -- computed struct value_access { struct any { protected: any() {} }; struct direct : any { std::string name() const { return "value_access::direct"; } }; + struct indirect : any { std::string name() const { return "value_access::indirect"; } }; struct computed : any { std::string name() const { return "value_access::computed"; } }; }; + + // value_storage:/any/ // | // + -- /organized/ @@ -324,7 +359,80 @@ struct disrupted : any { std::string name() const { return "value_storage::disrupted"; } }; }; +// value_alignement:/any/ +// | +// +-- with_grid +// | +// +-- no_aligned +// | +// +-- irrelevant + struct value_alignement + { + struct any { protected: any() {} }; + struct with_grid + : any { std::string name() const { return "value_alignement::with_grid"; } }; + struct not_aligned + : any { std::string name() const { return "value_alignement::not_aligned"; } }; + struct irrelevant + : any { std::string name() const { return "value_alignement::irrelevant"; } }; + }; + +// pw_io: /any/ +// | +// +-- read +// | +// +-- read_write + + struct pw_io + { + struct any { protected: any() {} }; + struct read + : any { std::string name() const { return "pw_io::read"; } }; + struct read_write + : any { std::string name() const { return "pw_io::read_write"; } }; + }; + +// vw_io: /any/ +// | +// +-- read +// | +// +-- read_write + + struct vw_io + { + struct any { protected: any() {} }; + struct some : any { protected: some() {} }; + struct read + : some { std::string name() const { return "pw_io::read"; } }; + struct read_write + : some { std::string name() const { return "pw_io::read_write"; } }; + struct none + : any { std::string name() const { return "pw_io::none"; } }; + }; + +// vw_set: /any/ +// | +// +-- /some/ +// | | +// | +-- uni +// | | +// | +-- multi +// | +// +-- none + + struct vw_set + { + struct any { protected: any() {} }; + struct some : any { protected: some() {} }; + struct none : any { protected: none() {} }; + struct uni + : some { std::string name() const { return "vw_set::uni";} }; + struct multi + : some { std::string name() const { return "vw_set::multi";} }; + }; + +// DEPRECATED PROPERTY // value_browsing:/any/ // | // + -- site_wise_only @@ -351,6 +459,7 @@ }; +// DEPRECATED PROPERTY // value_io: /any/ // | // + -- read_only Index: mln/core/image/image2d.hh --- mln/core/image/image2d.hh (revision 2541) +++ mln/core/image/image2d.hh (working copy) @@ -98,12 +98,16 @@ typedef trait::image::size::regular size; // value + typedef trait::image::vw_io::none vw_io; + typedef trait::image::vw_set::none vw_set; typedef trait::image::value_access::direct value_access; typedef trait::image::value_storage::one_block value_storage; typedef trait::image::value_browsing::site_wise_only value_browsing; + typedef trait::image::value_alignement::with_grid value_alignement; typedef trait::image::value_io::read_write value_io; // site / domain + typedef trait::image::pw_io::read_write pw_io; typedef trait::image::localization::basic_grid localization; typedef trait::image::dimension::two_d dimension;