mirror of https://github.com/CGAL/cgal
Remove derivation as workaround for a typedef
This commit is contained in:
parent
25819705f5
commit
7fa9781894
|
|
@ -22,7 +22,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DONT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> Kernel;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -30,8 +30,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<inexact_type> {};
|
||||
struct EK : public CGAL::Simple_cartesian<exact_type> {};
|
||||
typedef CGAL::Simple_cartesian<inexact_type> CK;
|
||||
typedef CGAL::Simple_cartesian<exact_type> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DNOT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> K;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -31,8 +31,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<inexact_type> {};
|
||||
struct EK : public CGAL::Simple_cartesian<exact_type> {};
|
||||
typedef CGAL::Simple_cartesian<inexact_type> CK;
|
||||
typedef CGAL::Simple_cartesian<exact_type> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
typedef CGAL::Exact_rational exact_nt;
|
||||
|
||||
struct Rep : public CGAL::Simple_cartesian<exact_nt> {};
|
||||
typedef CGAL::Simple_cartesian<exact_nt> Rep;
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
||||
struct Gt : public CGAL::Apollonius_graph_traits_2<Rep,Method_tag> {};
|
||||
typedef CGAL::Apollonius_graph_traits_2<Rep,Method_tag> Gt;
|
||||
|
||||
typedef CGAL::Apollonius_graph_2<Gt> AG2;
|
||||
typedef AG2::Point_2 Point_2;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cassert>
|
||||
|
|
@ -22,7 +20,7 @@ typedef CGAL::Filtered_exact<inexact_type,exact_type> number_t;
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#ifndef DONT_USE_FILTERED_EXACT
|
||||
struct Kernel : public CGAL::Simple_cartesian<number_t> {};
|
||||
typedef CGAL::Simple_cartesian<number_t> Kernel;
|
||||
#endif
|
||||
|
||||
typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
||||
|
|
@ -30,8 +28,8 @@ typedef CGAL::Integral_domain_without_division_tag Method_tag;
|
|||
#include "./include/test.h"
|
||||
|
||||
|
||||
struct CK : public CGAL::Simple_cartesian<double> {};
|
||||
struct EK : public CGAL::Simple_cartesian<CGAL::MP_Float> {};
|
||||
typedef CGAL::Simple_cartesian<double> CK;
|
||||
typedef CGAL::Simple_cartesian<CGAL::MP_Float> EK;
|
||||
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -16,10 +16,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -16,10 +16,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -17,10 +17,8 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -18,10 +18,7 @@
|
|||
// leda_rational, or Gmpq, or Quotient<MP_float>
|
||||
typedef CGAL::Exact_rational Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Polygon_2<Kernel> Polygon_2;
|
||||
typedef CGAL::Polygon_with_holes_2<Kernel> Polygon_with_holes_2;
|
||||
|
|
|
|||
|
|
@ -18,10 +18,7 @@
|
|||
//typedef CGAL::Quotient<CGAL::MP_Float> Number_type;
|
||||
typedef int Number_type;
|
||||
|
||||
// instead of
|
||||
//typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
// workaround for VC++
|
||||
struct Kernel : public CGAL::Simple_cartesian<Number_type> {};
|
||||
typedef CGAL::Simple_cartesian<Number_type> Kernel;
|
||||
|
||||
typedef CGAL::Gps_segment_traits_2<Kernel> Traits;
|
||||
typedef CGAL::Polygon_set_2<Kernel> Ps;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
#if 1
|
||||
struct K : public CGAL::Filtered_kernel<CGAL::Cartesian<double> > {};
|
||||
typedef CGAL::Filtered_kernel<CGAL::Cartesian<double> > K;
|
||||
#else
|
||||
typedef CGAL::Homogeneous<int> K1;
|
||||
typedef CGAL::Homogeneous<CGAL::MP_Float> K2;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
//
|
||||
// Author(s) : Michael Hoffmann <hoffmann@inf.ethz.ch>
|
||||
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polygon_2.h>
|
||||
#include <CGAL/point_generators_2.h>
|
||||
#include <CGAL/random_convex_set_2.h>
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
typedef double FT;
|
||||
|
||||
struct Kernel : public CGAL::Cartesian<FT> {};
|
||||
typedef CGAL::Simple_cartesian<FT> Kernel;
|
||||
|
||||
typedef Kernel::Point_2 Point;
|
||||
typedef std::vector<Point> Cont;
|
||||
|
|
|
|||
|
|
@ -114,9 +114,9 @@ struct Tester {
|
|||
};
|
||||
|
||||
|
||||
struct K_e_i : public CGAL::Exact_predicates_inexact_constructions_kernel {};
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K_e_i;
|
||||
#if CGAL_USE_CORE || CGAL_USE_LEDA
|
||||
struct K_e_e : public CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt {};
|
||||
typedef CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt K_e_e;
|
||||
#endif
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -194,9 +194,9 @@ struct Tester2 {
|
|||
}
|
||||
};
|
||||
|
||||
struct K_e_i : public CGAL::Exact_predicates_inexact_constructions_kernel {};
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K_e_i;
|
||||
#if CGAL_USE_CORE || CGAL_USE_LEDA
|
||||
struct K_e_e : public CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt {};
|
||||
typedef CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt K_e_e;
|
||||
#endif
|
||||
|
||||
int main()
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <CGAL/Triangulation_vertex_base_with_info_2.h>
|
||||
#include <CGAL/Triangulation_face_base_with_info_2.h>
|
||||
|
||||
struct K : public CGAL::Exact_predicates_inexact_constructions_kernel {};
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
|
||||
typedef bool Vertex_info;
|
||||
typedef bool Face_info;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include <CGAL/Periodic_2_triangulation_traits_2.h>
|
||||
#include <CGAL/Periodic_2_triangulation_2.h>
|
||||
|
||||
struct K : CGAL::Exact_predicates_inexact_constructions_kernel {};
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Periodic_2_triangulation_traits_2<K> Gt;
|
||||
|
||||
typedef CGAL::Periodic_2_triangulation_2<Gt> Triangulation;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Homogeneous.h>
|
||||
#include <CGAL/Polygon_2_algorithms.h>
|
||||
|
||||
|
|
@ -192,7 +192,7 @@ int main()
|
|||
cout << "- testing polygon algorithms with cartesian/double -" << endl;
|
||||
cout << "--------------------------------------------------------" << endl;
|
||||
cout << endl;
|
||||
typedef CGAL::Cartesian<double> R1;
|
||||
typedef CGAL::Simple_cartesian<double> R1;
|
||||
|
||||
typedef CGAL::Point_2<R1> Point1;
|
||||
test_polygon(R1(), Point1(), "data/polygon_cartesian.dat");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polygon_2.h>
|
||||
|
||||
typedef CGAL::Cartesian<double> K;
|
||||
typedef CGAL::Simple_cartesian<double> K;
|
||||
typedef K::Point_2 Point;
|
||||
typedef K::Segment_2 Segment;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#define CGAL_POLYGON_DEBUG 1
|
||||
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_rational.h>
|
||||
|
||||
#include <CGAL/Point_2.h>
|
||||
|
|
@ -18,7 +18,7 @@ bool TestSimplicity(const char* FileName)
|
|||
// tests the simplicity of the polygon in the file FileName
|
||||
{
|
||||
typedef CGAL::Exact_rational NT;
|
||||
typedef CGAL::Cartesian<NT> K;
|
||||
typedef CGAL::Simple_cartesian<NT> K;
|
||||
typedef CGAL::Point_2<K> Point;
|
||||
|
||||
cout << "-----------------------------------------------" << endl;
|
||||
|
|
@ -54,7 +54,7 @@ bool TestSimplicity(const char* FileName)
|
|||
|
||||
void TestDegenerateCases()
|
||||
{
|
||||
typedef CGAL::Cartesian<double> K;
|
||||
typedef CGAL::Simple_cartesian<double> K;
|
||||
typedef CGAL::Point_2<K> Point;
|
||||
std::vector<Point> polygon;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
// Delaunay Triangulation of a set of 3D points in the xy-plane.
|
||||
// (Terrain triangulation)
|
||||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Filtered_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/IO/Verbose_ostream.h>
|
||||
#include <CGAL/IO/File_scanner_OFF.h>
|
||||
#include <CGAL/IO/File_writer_OFF.h>
|
||||
|
|
@ -30,8 +29,7 @@ public:
|
|||
: Point_3(x,y,z), index(i) {}
|
||||
};
|
||||
|
||||
typedef CGAL::Simple_cartesian<double> SC;
|
||||
typedef CGAL::Filtered_kernel<SC> Kernel;
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
|
||||
|
||||
typedef Indexed_point<Kernel> IPoint;
|
||||
typedef CGAL::Projection_traits_xy_3<Kernel> Gtraits;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
//
|
||||
// Author(s) : Michael Hoffmann <hoffmann@inf.ethz.ch>
|
||||
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Polygon_2.h>
|
||||
#include <CGAL/point_generators_2.h>
|
||||
#include <CGAL/random_convex_set_2.h>
|
||||
|
|
@ -36,7 +36,7 @@ using CGAL::iterator_distance;
|
|||
|
||||
typedef double FT;
|
||||
|
||||
struct Kernel : public CGAL::Cartesian<FT> {};
|
||||
typedef CGAL::Simple_cartesian<FT> Kernel;
|
||||
|
||||
typedef Kernel::Point_2 Point;
|
||||
typedef std::vector<int> Index_cont;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ typedef CGAL::Quotient<exact_ring_t> exact_field_t;
|
|||
|
||||
#endif
|
||||
|
||||
//typedef exact_ring_t ring_number_t;
|
||||
typedef exact_field_t field_number_t;
|
||||
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
|
@ -37,7 +36,6 @@ typedef exact_field_t field_number_t;
|
|||
#include <CGAL/Segment_Delaunay_graph_Linf_2.h>
|
||||
#include <CGAL/Segment_Delaunay_graph_Linf_traits_2.h>
|
||||
|
||||
//struct K_ring : public CGAL::Simple_cartesian<ring_number_t> {};
|
||||
typedef CGAL::Simple_cartesian<field_number_t> K_field;
|
||||
|
||||
typedef CGAL::Field_tag MTag;
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ typedef exact_field_t field_number_t;
|
|||
#include <CGAL/Segment_Delaunay_graph_Linf_2.h>
|
||||
#include <CGAL/Segment_Delaunay_graph_Linf_traits_2.h>
|
||||
|
||||
struct K_ring : public CGAL::Simple_cartesian<ring_number_t> {};
|
||||
struct K_field : public CGAL::Simple_cartesian<field_number_t> {};
|
||||
typedef public CGAL::Simple_cartesian<ring_number_t> K_ring;
|
||||
typedef CGAL::Simple_cartesian<field_number_t> K_field;
|
||||
|
||||
typedef CGAL::Field_tag MTag;
|
||||
typedef CGAL::Integral_domain_without_division_tag MTag_wi;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
@ -31,8 +30,8 @@ typedef exact_field_t field_number_t;
|
|||
#include <CGAL/Segment_Delaunay_graph_Linf_hierarchy_2.h>
|
||||
#include <CGAL/Segment_Delaunay_graph_Linf_traits_2.h>
|
||||
|
||||
struct K_ring : public CGAL::Simple_cartesian<ring_number_t> {};
|
||||
struct K_field : public CGAL::Simple_cartesian<field_number_t> {};
|
||||
typedef CGAL::Simple_cartesian<ring_number_t> K_ring;
|
||||
typedef CGAL::Simple_cartesian<field_number_t> K_field;
|
||||
|
||||
typedef CGAL::Field_tag MTag;
|
||||
typedef CGAL::Integral_domain_without_division_tag MTag_wi;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
// file: multi_info.cpp
|
||||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
@ -26,7 +24,7 @@ typedef
|
|||
CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2<Rep>
|
||||
Traits_x;
|
||||
|
||||
struct Gt : public Traits_x {};
|
||||
typedef Traits_x Gt;
|
||||
|
||||
#include "Multi_info.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
// file: multi_info.cpp
|
||||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
@ -26,7 +24,7 @@ typedef
|
|||
CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2<Rep>
|
||||
Traits_x;
|
||||
|
||||
struct Gt : public Traits_x {};
|
||||
typedef Traits_x Gt;
|
||||
|
||||
#include "Multi_info.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
// file: test_sdg_info_2.cpp
|
||||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
@ -25,7 +23,7 @@ typedef
|
|||
CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2<Rep>
|
||||
Traits_x;
|
||||
|
||||
struct Gt : public Traits_x {};
|
||||
typedef Traits_x Gt;
|
||||
|
||||
#include "Multi_info.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include <CGAL/basic.h>
|
||||
|
||||
#ifndef CGAL_SDG_VERBOSE
|
||||
#define CGAL_SDG_DEBUG(a)
|
||||
|
|
@ -11,8 +10,10 @@
|
|||
#include <cassert>
|
||||
#include <vector>
|
||||
|
||||
#include <CGAL/Interval_arithmetic.h>
|
||||
#include <CGAL/basic.h>
|
||||
#include <CGAL/Interval_nt.h>
|
||||
#include <CGAL/Simple_cartesian.h>
|
||||
|
||||
#include <CGAL/Segment_Delaunay_graph_Linf_traits_2.h>
|
||||
#include <CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
struct K : public CGAL::Exact_predicates_inexact_constructions_kernel {};
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Point_with_surface_index_geom_traits<K> My_traits;
|
||||
// Multi_surface_traits<Regular_traits> ?
|
||||
typedef CGAL::Complex_2_in_triangulation_vertex_base_3<My_traits> Vb;
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
#include <CGAL/Apollonius_graph_adaptation_traits_2.h>
|
||||
#include <CGAL/Apollonius_graph_adaptation_policies_2.h>
|
||||
|
||||
struct Rep : public CGAL::Simple_cartesian<double> {};
|
||||
struct K : public CGAL::Apollonius_graph_filtered_traits_2<Rep> {};
|
||||
typedef CGAL::Simple_cartesian<double> Rep;
|
||||
typedef CGAL::Apollonius_graph_filtered_traits_2<Rep> K;
|
||||
|
||||
#if 1 // definitions for hierarchy
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ typedef CGAL::Integral_domain_without_division_tag MTag;
|
|||
typedef CGAL::Simple_cartesian<NT> K;
|
||||
typedef CGAL::Simple_cartesian<double> DK;
|
||||
|
||||
struct Gt : public CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2<DK> {};
|
||||
typedef CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2<DK> Gt;
|
||||
|
||||
//CGAL::Segment_Delaunay_graph_traits_without_intersections_2<K,MTag> Gt;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue