- 26 Jun, 2006 2 commits
-
-
Quentin Hocquet authored
Scool compiler has been moved into its own repository. * tools: Remove. * tools/test.yml: Remove. * tools/tests: Remove. * tools/tests/syntax error: Remove. * tools/tests/syntax error/wrong.scl: Remove. * tools/tests/parse-ref: Remove. * tools/tests/parse-ref/vardec.ref: Remove. * tools/tests/parse-ref/fundec.ref: Remove. * tools/tests/parse-ref/funcall_no-args.ref: Remove. * tools/tests/parse-ref/empty-class_dec.ref: Remove. * tools/tests/parse-ref/varinit.ref: Remove. * tools/tests/parse-ref/emtpy-class_dec.ref: Remove. * tools/tests/parse-ref/no-args_funtype.ref: Remove. * tools/tests/parse-ref/class_dec.ref: Remove. * tools/tests/parse-ref/manydec.ref: Remove. * tools/tests/parse-ref/wiki1.ref: Remove. * tools/tests/parse-ref/bi-exp.ref: Remove. * tools/tests/parse-ref/funcall.ref: Remove. * tools/tests/parse-ref/wiki2.ref: Remove. * tools/tests/parse-ref/function.ref: Remove. * tools/tests/parse-ref/consinit.ref: Remove. * tools/tests/parse-ref/wiki3.ref: Remove. * tools/tests/parse-ref/funtype.ref: Remove. * tools/tests/parse-ref/empty.ref: Remove. * tools/tests/parse-ref/type_static-call.ref: Remove. * tools/tests/parse-ref/guard.ref: Remove. * tools/tests/good: Remove. * tools/tests/good/type_static-call.scl: Remove. * tools/tests/good/guard.scl: Remove. * tools/tests/good/vardec.scl: Remove. * tools/tests/good/fundec.scl: Remove. * tools/tests/good/funcall_no-args.scl: Remove. * tools/tests/good/varinit.scl: Remove. * tools/tests/good/empty-class_dec.scl: Remove. * tools/tests/good/manydec.scl: Remove. * tools/tests/good/no-args_funtype.scl: Remove. * tools/tests/good/class_dec.scl: Remove. * tools/tests/good/wiki1.scl: Remove. * tools/tests/good/funcall.scl: Remove. * tools/tests/good/bi-exp.scl: Remove. * tools/tests/good/function.scl: Remove. * tools/tests/good/wiki2.scl: Remove. * tools/tests/good/consinit.scl: Remove. * tools/tests/good/wiki3.scl: Remove. * tools/tests/good/funtype.scl: Remove. * tools/tests/good/empty.scl: Remove. * tools/transformer: Remove. * tools/transformer/scoolc.str: Remove. * tools/transformer/Makefile: Remove. * tools/scoolc: Remove. * tools/gen.yml: Remove. * tools/parser: Remove. * tools/parser/grammar: Remove. * tools/parser/grammar/Class.sdf: Remove. * tools/parser/grammar/Decl.sdf: Remove. * tools/parser/grammar/Exp.sdf: Remove. * tools/parser/grammar/Scool.sdf: Remove. * tools/parser/grammar/ExpOrType.sdf: Remove. * tools/parser/grammar/Type.sdf: Remove. * tools/parser/grammar/Lexical.sdf: Remove. * tools/parser/grammar/Guard.sdf: Remove. * tools/parser/grammar/Stm.sdf: Remove. * tools/parser/parse-scool: Remove. * tools/parser/Makefile: Remove. * tools/Makefile: Remove. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@506 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Quentin Hocquet authored
* tools: Remove svn:external property. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@505 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 15 Jun, 2006 2 commits
-
-
Roland Levillain authored
Document method checks in Static tour. * tests/tour.cc (static_hierarchy_with_methods::test): Rename as... (static_hierarchy_with_methods::test1): ...this. (main): Adjust. (static_hierarchy_with_methods::D): New. (static_hierarchy_with_methods::test2): New. (static_hierarchy_with_method_checks): New section. Add a reference (Concept Checking). git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@504 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
More on SCOOP methods in Static tour. * tests/tour.cc (dynamic_hierarchy::A::foo) (dynamic_hierarchy::A::bar, dynamic_hierarchy::B::foo) (dynamic_hierarchy::B::bar, dynamic_hierarchy::C::foo): Return an int value. (static_hierarchy_with_methods::A::foo) (static_hierarchy_with_methods::A::impl_foo) (static_hierarchy_with_methods::A::bar) (static_hierarchy_with_methods::B::impl_foo) (static_hierarchy_with_methods::B::impl_bar) (static_hierarchy_with_methods::C::impl_foo): Likewise. (static_hierarchy_with_methods): Add comments. (static_hierarchy_with_methods::test): New. (main): Call it. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@503 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 14 Jun, 2006 2 commits
-
-
Roland Levillain authored
More on the retrieval of and the conversion to the exact type in Static tour. * tests/tour.cc (static_hierarchy_with_any): More on the retrieval of and the conversion to the exact type. (main): Run dynamic tests. (static_hierarchy_with_any::A) (static_hierarchy_with_a_non_leaf_concrete_class::A) (static_hierarchy_with_methods::A): Use stc::any instead of stc::any__simple. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@502 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
Add stc_to_exact and stc_to_exact macros. * stc/exact.hh (stc_to_exact, stc_to_exact_): New macros. * stc/vtypes.hh (type_of_): Use the stc_to_exact macro instead of stc::to_exact_. * tests/exact.cc (main): Perform additional static tests. * tests/find_exact.cc (main): Use the stc_to_exact_ macro instead of stc::to_exact_. * tests/vtypes-and-exact.cc (main): Likewise Check the super classes. (A): Use stc::any instead of stc::any__simple. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@501 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 13 Jun, 2006 1 commit
-
-
Roland Levillain authored
Document stc_find_exact and stc::itself in Static tour. * tests/tour.cc (dynamic_hierarchy, simple_static_hierarchy): (static_hierarchy_with_methods): Aesthetic changes. (static_hierarchy_with_any): Rephrase comments. (static_hierarchy_with_a_non_leaf_concrete_class): New section. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@500 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 12 Jun, 2006 2 commits
-
-
Roland Levillain authored
* tests/tour.cc: Start a Static tour. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@499 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
Add stc_find_exact. * stc/find_exact.hh: New. * tests/find_exact.cc (main): New test. * stc/Makefile.am (nobase_stc_HEADERS): Add find_exact.hh. * tests/Makefile.am (check_PROGRAMS): Add find_exact. (find_exact_SOURCES): New. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@498 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 06 Jun, 2006 3 commits
-
-
Roland Levillain authored
* stc/vtypes.hh (type_of_): Get the exact type of the ``from_type'' class, and perform the retrieval on it (instead of from_type directly). * tests/vtypes-and-exact.cc: New test. * tests/Makefile.am (check_PROGRAMS): Add vtypes-and-exact.cc. (vtypes_and_exact_SOURCES): New. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@497 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
inheritance nor use of stc::any). * tests/vtypes.cc: Aesthetic changes. (C): Rename as... (Z): ...this. Adjust. (Z::bar_type, Z::baz_type, Z::yin_type): New typedefs. (main): Check more virtual types. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@496 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
algorithm of virtual type retrieval to take multiple base classes into account. * stc/internal/extract_vtype_from_list.hh: New file. * stc/vtypes.hh: Include it. (ERROR::FIRST_PARAMETER_OF_rec_get_vtype_SHOULD_BE_A_TAG): Rename as... (ERROR::FIRST_PARAMETER_OF_rec_get_vtype_IS_NOT_A_TAG): ...this. (ERROR::FIRST_PARAMETER_OF_rec_get_vtype_from_list_IS_NOT_A_TAG) (ERROR::THIRD_PARAMETER_OF_rec_get_vtype_from_list_IS_NOT_A_LIST): New structs (error messages). (stc_internal_maybe_get_nth_super_type): New macro. (get_supers_list): Use it. (maybe_super_type): Rename as... (maybe_get_super_type): ...this. (get_vtype): Rename as... (get_vtype_helper): ...this. (stc_internal_rec_get_vtype): New macro. (rec_get_vtype_from_list): New struct. (rec_get_vtype): Use it to rewrite the retrieval algorithm to take multiple base classes into account. Complete static assertions on the nature of the first parameter (retrieval method tag). * stc/Makefile.am (nobase_stc_HEADERS): Add internal/extract_vtype_from_list.hh. * tests/vtypes-multiple-supers.cc: New test. * tests/Makefile.am (check_PROGRAMS): Add vtypes-multiple-supers. (vtypes_multiple_supers_SOURCES): New. * tests/vtypes.cc (packed_vtypes <category::my_cat, T>): Move this class just after the declaration of my::cat. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@495 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 05 Jun, 2006 3 commits
-
-
Roland Levillain authored
* oln/core/1d/grid1d.hh, oln/core/2d/grid2d.hh, * oln/core/3d/grid3d.hh: s/stc_super_/stc_get_supers/. * tests/image_entry.cc: Add a missing `public' qualifier for exported types. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@494 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/valist_aggregator.hh: New. * stc/vtypes.hh: Include it. (ERROR::PARAMETER_OF_get_super_types_helper_IS_NOT_A_VALID_VALIST): New struct. (set_super_type): Inherit from mlc::undefined by default. (internal::maybe_super_type, get_supers_list) (internal::get_super_types_helper, get_super_types) (rec_get_vtype): s/stc_super/stc_get_super/. s/stc_pseudosuper/stc_get_pseudosuper/. (stc_set_super): Remove previous definition of this macro, and make it a shortcut for... (stc_set_nth_super): ...this one (new). (stc_get_supers, stc_get_nth_super_, stc_get_nth_super_) (stc_get_super_, stc_get_super_): New macros. (stc_super, stc_super_): Remove macros. (stc_pseudosuper, stc_pseudosuper_): Rename macros as... (stc_get_pseudosuper, stc_get_pseudosuper_): ...these. * tests/super.cc, tests/multiple-supers.cc: New tests. * tests/vtypes.cc: s/stc_get_supers_/stc_get_supers/g. * stc/Makefile.am (nobase_stc_HEADERS): Add exact.hh and valist_aggregator.hh. * tests/Makefile.am (check_PROGRAMS): Add multiple-supers, super. (multiple_supers_SOURCES, super_SOURCES): New. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@493 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/entry.hh (internal::not_user_defined): Remove class. s/internal::not_user_defined/mlc::undefined/g. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@492 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 01 Jun, 2006 5 commits
-
-
Roland Levillain authored
of macros as template parameters. * mlc/case.hh (mlc_case, mlc_case_) * mlc/cmp.hh (mlc_eq, mlc_neq, mlc_is_bexpr, mlc_is_not_bexpr) (mlc_is_found, mlc_is_not_found, mlc_is_undefined) (mlc_is_defined, mlc_is_ok, mlc_is_not_ok, mlc_is_builtin) (mlc_is_not_builtin) * mlc/elt.hh (mlc_elt, mlc_elt_) * mlc/if.hh (mlc_if, mlc_if_) * mlc/implies.hh (mlc_implies) * mlc/switch.hh (mlc_switch, mlc_switch_) * mlc/typedef.hh (mlc_typedef, mlc_typedef_, mlc_typedef_in) (mlc_typedef_in, mlc_typedef_onlyif, mlc_typedef_onlyif_) * mlc/value.hh (mlc_value): Add space around the arguments of these macro to please icpc, whose preprocessor doesn't add extra space when expanding macros, leading sometimes to syntax errors. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@491 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/vtypes.hh (stc::ERROR::FIRST_PARAMETER_OF_rec_get_vtype_SHOULD_BE_A_TAG): New. (tag::method, tag::internal, tag::external): New. (get_vtype): New. (rec_get_vtype): Handle both internal and external vtypes. (rec_ext_vtype): Remove. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@490 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@489 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/any.hh, tests/exact.cc: s/exact_t/exact_type/g. * stc/exact.hh: Likewise. s/case_t/case_type/. Remove superfluous `inline' qualifiers. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@488 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/exact.hh: Aesthetic change. Fix copyright headers. * tests/exact.cc: Likewise. Fix an inclusion of header. * tests/Makefile.am (check_PROGRAMS): Add exact. (exact_SOURCES): New. * tests/any.cc: Aesthetic change. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@487 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 18 May, 2006 1 commit
-
-
Thomas Moulard authored
* static/tests/exact.cc: test suite of stc::exact (new file). * static/stc/exact.hh: implementation of stc::exact (new file). * static/stc/any.hh: adding a typedef exact_t in stc::any. * metalic/mlc/case.hh: fixing a bug in the protected defaults cases. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@486 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 06 May, 2006 1 commit
-
-
Quentin Hocquet authored
* Fix error in svn external link to transformers - tools: . - tools/tests/good/funcall_no-args.scl, tools/tests/good/funcall.scl: fix typo git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@483 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 05 May, 2006 1 commit
-
-
Quentin Hocquet authored
- tools: New. - tools/test.yml: New. - tools/transformer: New. - tools/transformer/scoolc.str: New. - tools/transformer/Makefile: New. - tools/tests: New. - tools/tests/syntax error: New. - tools/tests/syntax error/wrong.scl: New. - tools/tests/parse-ref: New. - tools/tests/parse-ref/vardec.ref: New. - tools/tests/parse-ref/fundec.ref: New. - tools/tests/parse-ref/funcall_no-args.ref: New. - tools/tests/parse-ref/emtpy-class_dec.ref: New. - tools/tests/parse-ref/empty-class_dec.ref: New. - tools/tests/parse-ref/varinit.ref: New. - tools/tests/parse-ref/no-args_funtype.ref: New. - tools/tests/parse-ref/manydec.ref: New. - tools/tests/parse-ref/class_dec.ref: New. - tools/tests/parse-ref/wiki1.ref: New. - tools/tests/parse-ref/funcall.ref: New. - tools/tests/parse-ref/bi-exp.ref: New. - tools/tests/parse-ref/function.ref: New. - tools/tests/parse-ref/wiki2.ref: New. - tools/tests/parse-ref/consinit.ref: New. - tools/tests/parse-ref/wiki3.ref: New. - tools/tests/parse-ref/funtype.ref: New. - tools/tests/parse-ref/empty.ref: New. - tools/tests/parse-ref/type_static-call.ref: New. - tools/tests/parse-ref/guard.ref: New. - tools/tests/good: New. - tools/tests/good/type_static-call.scl: New. - tools/tests/good/guard.scl: New. - tools/tests/good/fundec.scl: New. - tools/tests/good/vardec.scl: New. - tools/tests/good/funcall_no-args.scl: New. - tools/tests/good/varinit.scl: New. - tools/tests/good/empty-class_dec.scl: New. - tools/tests/good/manydec.scl: New. - tools/tests/good/class_dec.scl: New. - tools/tests/good/no-args_funtype.scl: New. - tools/tests/good/bi-exp.scl: New. - tools/tests/good/wiki1.scl: New. - tools/tests/good/funcall.scl: New. - tools/tests/good/wiki2.scl: New. - tools/tests/good/function.scl: New. - tools/tests/good/consinit.scl: New. - tools/tests/good/wiki3.scl: New. - tools/tests/good/funtype.scl: New. - tools/tests/good/empty.scl: New. - tools/scoolc: New. - tools/gen.yml: New. - tools/parser: New. - tools/parser/grammar: New. - tools/parser/grammar/Class.sdf: New. - tools/parser/grammar/Decl.sdf: New. - tools/parser/grammar/Exp.sdf: New. - tools/parser/grammar/ExpOrType.sdf: New. - tools/parser/grammar/Scool.sdf: New. - tools/parser/grammar/Lexical.sdf: New. - tools/parser/grammar/Type.sdf: New. - tools/parser/grammar/Guard.sdf: New. - tools/parser/grammar/Stm.sdf: New. - tools/parser/parse-scool: New. - tools/parser/Makefile: New. - tools/Makefile: New. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@482 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 02 May, 2006 1 commit
-
-
Roland Levillain authored
image abstractions. * oln/core/abstract/image_dimension.hh: Move the static switch statement before the cases. Aesthetic changes. * olena/oln/core/abstract/image_typeness.hh: Likewise. (case_<value_type_tag, value_type, 2>): Fix a copy-and-paste bug: remove a duplicate `unsigned char' type in the where-clause and replace it with `signed char'. * oln/core/abstract/image_typeness_integre.hh, * tests/image_entry.cc: Aesthetic changes. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@481 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 27 Apr, 2006 1 commit
-
-
Roland Levillain authored
* tests/image_entry.cc (my): Check image_typeness_type vtype and inheritance. * oln/core/typedefs.hh (value_type, image_typeness_type): Enable typedef. * oln/core/abstract/image.hh (vtypes::value_type): Enable typedef. (packed_vtypes::value_type): New typedef. (packed_vtypes::echo): Print value_type and image_typeness_type. (packed_vtypes::ensure): Check value_type and image_typeness_type. (image::value_type): Enable typedef. * oln/core/abstract/image_entry.hh: Include images abstractions headers. Don't include mlc/case.hh nor oln/core/abstract/image.hh. (mlc_case_equipment_for_namespace(oln)) (abstraction_tags): Move... * oln/core/abstract/image_abstractions.hh: ...here (new file). * oln/core/abstract/image_dimension.hh: Include it. Include stc/entry.hh. Aesthetic changes. * oln/core/abstract/image_typeness.hh: New file (imported from Olena proto-1.0, and modified). * oln/core/abstract/image_typeness_integre.hh: New file * oln/Makefile.am (nobase_oln_HEADERS): Add core/abstract/image_abstractions.hh, core/abstract/image_typeness.hh and core/abstract/image_typeness_integre.hh. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@480 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 26 Apr, 2006 2 commits
-
-
Roland Levillain authored
* stc/vtypes.hh (mlc::eqv, mlc::neqv): Remove these workarounds. (mlc_eqv, mlc_neqv): Remove macros. (rec_get_vtype, rec_get_ext_vtype): No longer use these workarounds, and revert to mlc_eq and mlc_neq usage (since they have been fixed in Metalic). * tests/vtypes.cc (main): Adjust. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@479 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Thierry Geraud authored
- mlc/typedef.hh (mlc_propagate_typedef_from): New macro. - mlc/cmp.hh (eq_, neq_): Change assertions so that it works on value types. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@478 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 25 Apr, 2006 9 commits
-
-
Roland Levillain authored
documentation. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@477 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* oln/core/typedefs.hh (oln_super_of_, oln_super2_of_) (oln_super3_of_, oln_super_of): Remove macros. (exact_type): Enable this typedef. * oln/core/abstract/image.hh (packed_vtypes::exact_type): New typedef. (packed_vtypes::echo): Print exact_type. (packed_vtypes::ensure): Check exact_type. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@476 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@475 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/properties.hh: Rename as... * stc/vtypes.hh: ...this. (stc_equip_namespace_with_properties): Rename as... (stc_equip_namespace_with_vtypes): ...this. Adjust. * stc/Makefile.am (nobase_stc_HEADERS): Rename properties.hh as vtypes.hh. * tests/properties.cc: Rename as... * tests/vtypes.cc: ...this. Adjust. * tests/entry.cc: Adjust. * tests/Makefile.am (check_PROGRAMS): Rename properties as vtypes. (properties_SOURCES): Likewise. Rename variable as... (vtypes_SOURCES): ...this. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@474 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* oln/core/abstract/image_dimension.hh (case_<grid_dim_tag, grid_type, 1>) (case_<grid_dim_tag, grid_type, 2>) (case_<grid_dim_tag, grid_type, 3>): s/stc::is_a/stc::abstraction_as_type/. * oln/core/abstract/macros.hh (oln_type_of, oln_type_of_) * oln/core/abstract/grid.hh (oln_grd_type_of, oln_grd_type_of_): Catch up with the new names of Static macros. * tests/image_entry.cc: Adjust test. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@473 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/properties.hh (typeof_): Rename class as... (type_of_): ...this. (stc::is_a): Rename class as... (stc::abstraction_as_type): ...this. (stc_typeof, stc_typeof_, stc_typeof_in_namespace) (stc_typeof_in_namespace_): Rename macros as... (stc_local_type_of, stc_local_type_of_, stc_type_of) (stc_type_of_): ...these. * tests/properties.cc: Adjust test. * tests/entry.cc: Typos in comments. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@472 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
abstraction according to the grid type of the exact image type. * oln/core/abstract/image_entry.hh: Add switch/case equipment in the oln namespace. * oln/core/abstract/image_dimension.hh (grid_dim_tag) (case_<grid_dim_tag, grid_type, 1>) (case_<grid_dim_tag, grid_type, 2>) (case_<grid_dim_tag, grid_type, 3>) (default_case_<grid_dim_tag, grid_type>): New Metalic switch/case on grid type, returning the corresponding image dimension type. (set_entry_node<I, oln::abstract::dimension_tag>): Use this Metalic switch/case to choose the dimension abstraction in the inheritance tree. * oln/core/abstract/image.hh (vtypes): Don't define image_dimension_type as an internal vtype, instead... * oln/core/abstract/image_dimension.hh (oln::ext_vtype<category::image, abstract::image<I>, typedef_::image_dimension_type>): ...define it externally, using the switch used inheritance-plugging mechanism based on the grid type. * tests/image_entry.cc (oln): Adjust. Check my::image's virtual types. Print my::image's vtypes on the standard output. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@471 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* oln/core/abstract/grid.hh, * oln/core/1d/grid1d.hh, * oln/core/2d/grid2d.hh, * oln/core/3d/grid3d.hh: New files (imported from Olena proto-1.0, and modified). * oln/core/typedefs.hh (grid_type, point_type, dpoint_type) (size_type, dimvalue_type, coord_type): Enable these types. * oln/core/abstract/image.hh (grid_type): Don't mlc-declare this typedef, since oln/core/typedefs.hh already takes care of it. (vtypes< category::image, abstract::image<I> >): Enable grid_type. (packed_vtypes): Likewise. * oln/core/abstract/internal/image_impl.hh: Improve comment. * tests/grid.cc: New test. * tests/image_entry.cc: Update this test. * oln/Makefile.am (nobase_oln_HEADERS): Add core/abstract/grid.hh, core/1d/grid1d.hh, core/2d/grid2d.hh and core/3d/grid3d.hh. * tests/Makefile.am (check_PROGRAMS): Add grid. (grid_SOURCES): New. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@470 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/properties.hh (mlc::eqv, mlc::neqv): New (workaround) classes. (mlc_eqv, mlc_neqv): New macros. (rec_get_vtype, rec_get_ext_vtype): Use them, to allow the use of Metalic values as virtual types. * tests/properties.cc: Ensure Metalic values can be valid virtual types. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@469 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 22 Apr, 2006 2 commits
-
-
Roland Levillain authored
* oln/core/abstract/image.hh (packed_vtypes): Remove. (packed_vtypes<category::image, I>): Use mlc::assert to test the virtual types. Aesthetic changes. (image::~image): Check the vtypes thanks to packed_vtypes<category::image, I>. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@468 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* stc/properties.hh (packed_vtypes): New packing structure, to be specialized by the user. When properly defined, this structure can be used to check if all the virtual types of a class are sound. * tests/properties.cc (my_type_of): New macro. Define a packed_vtypes structure for the top-most class (my::A) and check these virtual types in my::A's subclasses. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@467 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
- 21 Apr, 2006 2 commits
-
-
Roland Levillain authored
* COPYING: New (imported from oln proto-1.0). * NEWS: New (imported from oln 0.10). git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@466 4aad255d-cdde-0310-9447-f3009e2ae8c0
-
Roland Levillain authored
* extended/xtd/res.hh, * extended/xtd/math.hh, * extended/xtd/cast.hh, * extended/xtd/cfun.hh, * extended/xtd/mexpr.hh, * extended/xtd/math/log.hh, * extended/xtd/math/floor.hh, * extended/xtd/math/tan.hh, * extended/xtd/math/log10.hh, * extended/xtd/math/atan.hh, * extended/xtd/math/cos.hh, * extended/xtd/math/acos.hh, * extended/xtd/math/sqrt.hh, * extended/xtd/math/sin.hh, * extended/xtd/math/tanh.hh, * extended/xtd/math/asin.hh, * extended/xtd/math/cosh.hh, * extended/xtd/math/id.hh, * extended/xtd/math/exp.hh, * extended/xtd/math/logic.hh, * extended/xtd/math/sinh.hh, * extended/xtd/math/abs.hh, * extended/xtd/math/pow.hh, * extended/xtd/math/atan2.hh, * extended/xtd/math/includes.hh, * extended/xtd/math/arith.hh, * extended/xtd/math/constraints.hh, * extended/xtd/math/ceil.hh, * extended/xtd/math/cmp.hh, * extended/xtd/literal.hh, * extended/xtd/args.hh, * extended/xtd/mfun.hh, * extended/xtd/abstract/nary_fun.hh, * extended/xtd/abstract/open_nary_fun.hh, * extended/xtd/abstract/plain_nary_fun.hh, * extended/xtd/abstract/fun_expr.hh, * extended/xtd/abstract/meta_nary_fun.hh, * extended/xtd/abstract/fun.hh, * extended/xtd/abstract/open_fun.hh, * extended/xtd/abstract/plain_fun.hh, * extended/xtd/abstract/meta_fun.hh, * extended/xtd/abstract/fun_nary_expr.hh, * extended/xtd/optraits.hh, * extended/xtd/traits.hh, * extended/xtd/builtin/traits.hh, * extended/xtd/arg.hh, * extended/xtd/bind.hh, * extended/xtd/internal/opmacros.hh, * extended/xtd/internal/mlc.hh, * metalic/mlc/elt.hh, * metalic/mlc/ret.hh, * metalic/mlc/int.hh, * metalic/mlc/pair.hh, * metalic/mlc/bool.hh, * metalic/mlc/flags.hh, * metalic/mlc/comma.hh, * metalic/mlc/logic.hh, * metalic/mlc/if.hh, * metalic/mlc/values.hh, * metalic/mlc/typedef.hh, * metalic/mlc/assert.hh, * metalic/mlc/switch.hh, * metalic/mlc/valist.hh, * metalic/mlc/implies.hh, * metalic/mlc/abstract/type.hh, * metalic/mlc/abstract/bexpr.hh, * metalic/mlc/abort.hh, * metalic/mlc/to_string.hh, * metalic/mlc/wrap.hh, * metalic/mlc/is_a.hh, * metalic/mlc/case.hh, * metalic/mlc/value.hh, * metalic/mlc/char.hh, * metalic/mlc/contract.hh, * metalic/mlc/uint.hh, * metalic/mlc/cmp.hh, * metalic/mlc/bexpr.hh, * static/tests/properties.cc, * static/tests/entry.cc, * static/tests/any.cc: Update the FSF postal address. * extended/tests/cfun.cc, * extended/tests/id.cc, * extended/tests/bind.cc, * extended/tests/bi_traits/bool.cc, * extended/tests/bi_traits/char.cc, * extended/tests/bi_traits/sint.cc, * extended/tests/bi_traits/uint.cc, * extended/tests/bi_traits/schar.cc, * extended/tests/bi_traits/slong.cc, * extended/tests/bi_traits/sshort.cc, * extended/tests/bi_traits/uchar.cc, * extended/tests/bi_traits/ushort.cc, * extended/tests/bi_traits/ulong.cc, * extended/tests/bi_traits/float.cc, * extended/tests/bi_traits/ldouble.cc, * extended/tests/bi_traits/double.cc, * extended/tests/cos.cc, * extended/tests/abs.cc, * extended/tests/optraits.cc, * extended/tests/lit.cc, * extended/tests/math.cc, * extended/tests/cast.cc, * metalic/tests/is_a.cc, * metalic/tests/case.cc, * metalic/tests/if.cc, * metalic/tests/typedef.cc, * metalic/tests/or.cc, * metalic/tests/switch.cc, * metalic/tests/gcase.cc, * metalic/tests/protected.cc, * metalic/tests/ret.cc, * static/stc/entry.hh, * static/stc/any.hh, * static/stc/properties.hh: Add missing copyright notices. * olena/oln/core/typedefs.hh, * olena/oln/core/abstract/image.hh, * olena/oln/core/abstract/image_entry.hh, * olena/oln/core/abstract/macros.hh, * olena/oln/core/abstract/image_dimension.hh, * olena/oln/core/abstract/any.hh, * olena/oln/core/abstract/internal/image_impl.hh: . * olena/tests/image_entry.cc: Fix the FSF postal address. git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@465 4aad255d-cdde-0310-9447-f3009e2ae8c0
-