| CAABBGeomTraits | |
| CAABBPrimitive | |
| CAABBPrimitiveWithSharedData | |
| CAABBRayIntersectionGeomTraits | |
| CAABBRayIntersectionTraits | |
| CAABBTraits | |
| CAdaptableBinaryFunction | Adaptable functor with two arguments |
| CAdaptableFunctor | The concept AdaptableFunctor defines an adaptable functor, that is, a functor that can be used with function object adaptors such as binders and composers |
| CAdaptableQuaternaryFunction | Adaptable functor with four arguments |
| CAdaptableQuinaryFunction | Adaptable functor with five arguments |
| CAdaptableTernaryFunction | Adaptable functor with three arguments |
| CAdaptableUnaryFunction | Adaptable functor with one argument |
| CAdaptationPolicy_2 | |
| CAdaptationTraits_2 | |
| CAdjacencyGraph | Concept from the Boost Graph Library |
| CAdjacencyMatrix | Concept from the Boost Graph Library |
| CAdvancingFrontSurfaceReconstructionTraits_3 | |
| CAlgebraicKernel_d_1 | |
| CAlgebraicKernel_d_2 | |
| CAlgebraicKernelForCircles | |
| CAlgebraicKernelForSpheres | |
| CAlgebraicStructureTraits | |
| CAllFurthestNeighborsTraits_2 | |
| CAlphaShapeCell_3 | |
| CAlphaShapeFace_2 | |
| CAlphaShapeTraits_2 | |
| CAlphaShapeTraits_3 | |
| CAlphaShapeVertex_2 | |
| CAlphaShapeVertex_3 | |
| CAnalyticWeightTraits_2 | |
| CAnalyticWeightTraits_3 | |
| CApolloniusGraphDataStructure_2 | |
| CApolloniusGraphHierarchyVertexBase_2 | |
| CApolloniusGraphTraits_2 | |
| CApolloniusGraphVertexBase_2 | |
| CApolloniusSite_2 | |
| CApproximateMinEllipsoid_d_Traits_d | |
| CArr_curve_data_traits_2< Traits, _Unique_list< Data >, _Consolidate_unique_lists< Data >, Data > | |
| CArr_dcel_base< Arr_extended_vertex< V, VData >, Arr_extended_halfedge< H, HData >, Arr_extended_face< F, FData > > | |
| CArr_dcel_base< Arr_vertex_base< Traits_::Point_2 >, Arr_halfedge_base< Traits_::X_monotone_curve_2 >, Arr_face_base > | |
| CArr_dcel_base< V, H, Arr_extended_face< F, FData > > | |
| CArr_observer< Arrangement_ > | |
| CArr_polycurve_traits_2< SegmentTraits_2 > | |
| CArrangement_on_surface_2< Traits, Default_planar_topology< Traits, Dcel >::Traits > | |
| CArrangement_on_surface_with_history_2< Traits, Default_planar_topology< Traits, Dcel >::Traits > | |
| CArrangementApproximateTraits_2 | |
| CArrangementBasicTopologyTraits | |
| CArrangementBasicTraits_2 | |
| CArrangementBottomSideTraits_2 | |
| CArrangementClosedBottomTraits_2 | |
| CArrangementClosedLeftTraits_2 | |
| CArrangementClosedRightTraits_2 | |
| CArrangementClosedTopTraits_2 | |
| CArrangementConstructCurveTraits_2 | |
| CArrangementConstructXMonotoneCurveTraits_2 | |
| CArrangementContractedBottomTraits_2 | |
| CArrangementContractedLeftTraits_2 | |
| CArrangementContractedRightTraits_2 | |
| CArrangementContractedTopTraits_2 | |
| CArrangementDcel | |
| CArrangementDcelFace | |
| CArrangementDcelHalfedge | |
| CArrangementDcelInnerCcb | |
| CArrangementDcelIsolatedVertex | |
| CArrangementDcelOuterCcb | |
| CArrangementDcelVertex | |
| CArrangementDcelWithRebind | |
| CArrangementDirectionalXMonotoneTraits_2 | |
| CArrangementHorizontalSideTraits_2 | |
| CArrangementIdentifiedHorizontalTraits_2 | |
| CArrangementIdentifiedVerticalTraits_2 | |
| CArrangementInputFormatter | |
| CArrangementLandmarkTraits_2 | |
| CArrangementLeftSideTraits_2 | |
| CArrangementOpenBottomTraits_2 | |
| CArrangementOpenBoundaryTraits_2 | |
| CArrangementOpenLeftTraits_2 | |
| CArrangementOpenRightTraits_2 | |
| CArrangementOpenTopTraits_2 | |
| CArrangementOutputFormatter | |
| CArrangementPointLocation_2 | |
| CArrangementRightSideTraits_2 | |
| CArrangementSphericalBoundaryTraits_2 | |
| CArrangementTopologyTraits | |
| CArrangementTopSideTraits_2 | |
| CArrangementTraits_2 | |
| CArrangementVerticalRayShoot_2 | |
| CArrangementVerticalSideTraits_2 | |
| CArrangementWithHistoryInputFormatter | |
| CArrangementWithHistoryOutputFormatter | |
| CArrangementXMonotoneTraits_2 | |
| CAssignable | This concept refines both CopyAssignable and CopyConstructible |
| CAssociativeContainer | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/AssociativeContainer |
| CBackInsertionSequence | This container concepts refines SequenceContainer and has the ability to append elements at the end of the sequence and to access the last element, both in amortized constant time |
| CBarycentricWeights_2 | |
| CBasicMatrix | |
| CBidirectionalCirculator | |
| CBidirectionalGraph | Concept from the Boost Graph Library |
| CBidirectionalIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator |
| CBisectionGeometricTraits_3 | |
| CBoxIntersectionBox_d | |
| CBoxIntersectionTraits_d | |
| CCallable | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/Callable |
| CCastingTraits_2 | |
| CCellAttribute | |
| CCellAttributeWithPoint | |
| CCircle | |
| CCircularKernel | |
| CCirculator | |
| CCombinationElement | |
| CCombinatorialMap | |
| CCompact_mesh_cell_base_3_base< Point_3, TDS::Concurrency_tag > | |
| CConformingDelaunayTriangulationTraits_2 | |
| CConstHandle | |
| CConstrainedDelaunayTriangulationTraits_2 | |
| CConstrainedTriangulationFaceBase_2 | |
| CConstrainedTriangulationTraits_2 | |
| CConstRange | |
| CContainer | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/Container |
| CConvex_hull_d< Lifted_R > | |
| CConvexHullTraits_2 | |
| CConvexHullTraits_3 | |
| CConvexHullTraits_d | |
| CConvexPartitionIsValidTraits_2 | |
| CCopyAssignable | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/CopyAssignable |
| CCopyConstructible | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/CopyConstructible |
| CDataKernel | |
| CDefaultConstructible | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/DefaultConstructible |
| CDeformationClosestRotationTraits_3 | |
| CDelaunayGraph_2 | |
| CDelaunayLiftedTraits_d | |
| CDelaunayMeshFaceBase_2 | |
| CDelaunayMeshTraits_2 | |
| CDelaunayMeshVertexBase_2 | |
| CDelaunayTraits_d | |
| CDelaunayTriangulationCellBase_3 | |
| CDelaunayTriangulationOnSphereTraits_2 | |
| CDelaunayTriangulationTraits | |
| CDelaunayTriangulationTraits_2 | |
| CDelaunayTriangulationTraits_3 | |
| CDescriptor | |
| CDiagonalizeTraits | |
| CDQQMask_3 | |
| CEdgeCollapseSimplificationVisitor | |
| CEdgeListGraph | |
| CEfficientRANSACTraits | |
| CEllipse | |
| CEnvelopeDiagram_1 | |
| CEnvelopeDiagramEdge | |
| CEnvelopeDiagramVertex | |
| CEnvelopeTraits_3 | |
| CEqualityComparable | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/EqualityComparable |
| CErrorMetricProxy | |
| CEuclideanRing | |
| CExplicitInteroperable | |
| CExtendedKernelTraits_2 | |
| CExtremalPolygonTraits_2 | |
| CFaceGraph | |
| CFaceListGraph | |
| CField | |
| CFieldNumberType | |
| CFieldWithKthRoot | |
| CFieldWithRootOf | |
| CFieldWithSqrt | |
| CFixed_border_parameterizer_3< TriangleMesh_, Default::Get< BorderParameterizer_, Circular_border_arc_length_parameterizer_3< TriangleMesh_ > >::type, Default::Get< SolverTraits_, SolverTraits_ >::type > | |
| CFixedAlphaShapeCell_3 | |
| CFixedAlphaShapeTraits_3 | |
| CFixedAlphaShapeVertex_3 | |
| CFixedWeightedAlphaShapeTraits_3 | |
| CForwardCirculator | |
| CForwardIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/ForwardIterator |
| CForwardRange | See https://www.boost.org/libs/range/doc/html/range/concepts/forward_range.html |
| CFraction | |
| CFractionTraits | |
| CFromDoubleConstructible | |
| CFromIntConstructible | |
| CFullCellData | |
| CFuzzyQueryItem | |
| CGeneral_polygon_set_2< Gps_segment_traits_2< Kernel, Container > > | |
| CGeneral_polygon_with_holes_2< CGAL::Polygon_2< Kernel, Containter > > | |
| CGeneralDistance | |
| CGeneralizedMap | |
| CGeneralPolygon_2 | |
| CGeneralPolygonSetDcel | |
| CGeneralPolygonSetDcelFace | |
| CGeneralPolygonSetDcelHalfedge | |
| CGeneralPolygonSetTraits_2 | |
| CGeneralPolygonWithHoles_2 | |
| CGenericMap | |
| CGenericMapItems | |
| CGetCost | |
| CGetPlacement | |
| CGpsTraitsGeneralPolygon_2 | |
| CGpsTraitsGeneralPolygonWithHoles_2 | |
| CGradientFittingTraits | |
| CHalfedgeDS | |
| CHalfedgeDSFace | |
| CHalfedgeDSHalfedge | |
| CHalfedgeDSItems | |
| CHalfedgeDSVertex | |
| CHalfedgeGraph | |
| CHalfedgeListGraph | |
| CHandle | |
| CHashable | |
| CHeatMethodTraits_3 | |
| CHyperbolicDelaunayTriangulationTraits_2 | |
| CHyperbolicFaceData | |
| CHyperbolicTriangulationFaceBase_2 | |
| CImplicitFunction | |
| CImplicitInteroperable | |
| CImplicitSurfaceTraits_3 | |
| CIncidenceGraph | Concept from the Boost Graph Library |
| CIndex | |
| CInputIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/InputIterator |
| CIntegralDomain | |
| CIntegralDomainWithoutDivision | |
| CIntegrator_2 | |
| CInterpolationTraits | |
| CIntersectionGeometricTraits_3 | |
| CInterval | |
| CIsStronglyConvexTraits_3 | |
| CIsYMonotoneTraits_2 | |
| CIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/Iterator |
| CKd_tree_node< TreeTraits, Splitter, UseExtendedNode > | |
| CKernel | |
| CKernel_d | |
| CKernelWithLifting_d | |
| CLargestEmptyIsoRectangleTraits_2 | |
| Cleda_bigfloat | |
| Cleda_integer | |
| Cleda_rational | |
| Cleda_real | |
| CLessThanComparable | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/LessThanComparable |
| CLinearAlgebraTraits_d | |
| CLinearCellComplex | |
| CLinearCellComplexItems | |
| CLinearCellComplexTraits | |
| CLinearProgram | |
| CLinearProgramTraits | |
| CLocalKernel | |
| CLvaluePropertyMap | See https://www.boost.org/libs/property_map/doc/LvaluePropertyMap.html |
| CMatrix | |
| CMeanCurvatureSkeletonizationTraits | |
| CMesh_domain_with_polyline_features_3< CGAL::Polyhedral_mesh_domain_3< CGAL::Mesh_polyhedron_3< IGT >::type, IGT > > | |
| CMesh_domain_with_polyline_features_3< Polyhedral_mesh_domain_3< Polyhedron_, IGT_, CGAL::Default, int, Tag_true > > | |
| CMesh_vertex_base_3_base< Vb::Triangulation_data_structure::Concurrency_tag > | |
| CMeshCellBase_3 | |
| CMeshCellCriteria_3 | |
| CMeshComplex_3InTriangulation_3 | |
| CMeshComplexWithFeatures_3InTriangulation_3 | |
| CMeshCriteria_3 | |
| CMeshCriteriaWithFeatures_3 | |
| CMeshDomain_3 | |
| CMeshDomainField_3 | |
| CMeshDomainWithFeatures_3 | |
| CMeshEdgeCriteria_3 | |
| CMeshFacetCriteria_3 | |
| CMeshingCriteria_2 | |
| CMeshPolyline_3 | |
| CMeshTriangulationTraits_3 | |
| CMeshVertexBase_3 | |
| CMinCircle2Traits | |
| CMinEllipse2Traits | |
| CMinQuadrilateralTraits_2 | |
| CMinSphereAnnulusDTraits | |
| CMinSphereOfSpheresTraits | |
| CMixedIntegerProgramLinearConstraint | |
| CMixedIntegerProgramLinearObjective | |
| CMixedIntegerProgramTraits | |
| CMixedIntegerProgramVariable | |
| CModularizable | |
| CModularTraits | |
| CMonotoneMatrixSearchTraits | |
| Cmpq_class | |
| CMPSFormat | |
| Cmpz_class | |
| CMutableFaceGraph | |
| CMutableGraph | Concept from the Boost Graph Library |
| CMutableHalfedgeGraph | |
| CMutablePropertyGraph | Concept from the Boost Graph Library |
| CNeighborQuery | |
| CNonnegativeLinearProgram | |
| CNonnegativeQuadraticProgram | |
| CNormalEquationSparseLinearAlgebraTraits_d | |
| CObjectWithEraseCounter | |
| COptimalConvexPartitionTraits_2 | |
| COptimalTransportationReconstructionTraits_2 | |
| COrientedBoundingBoxTraits_3 | |
| COrthogonalDistance | |
| COrthtree< Traits, PointRange, PointMap > | |
| COrthtreeTraits | |
| COrthtreeTraversal | |
| COutputIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/OutputIterator |
| COverlayTraits | |
| CParameterizer_3 | |
| CPartitionIsValidTraits_2 | |
| CPartitionTraits_2 | |
| CPeriodic_2DelaunayTriangulationTraits_2 | |
| CPeriodic_2Offset_2 | |
| CPeriodic_2TriangulationFaceBase_2 | |
| CPeriodic_2TriangulationTraits_2 | |
| CPeriodic_2TriangulationVertexBase_2 | |
| CPeriodic_3_triangulation_3< PT, TDS > | |
| CPeriodic_3DelaunayTriangulationTraits_3 | |
| CPeriodic_3MeshDomain_3 | |
| CPeriodic_3MeshDomainWithFeatures_3 | |
| CPeriodic_3Offset_3 | |
| CPeriodic_3RegularTriangulationDSCellBase_3 | |
| CPeriodic_3RegularTriangulationDSVertexBase_3 | |
| CPeriodic_3RegularTriangulationTraits_3 | |
| CPeriodic_3TriangulationDSCellBase_3 | |
| CPeriodic_3TriangulationDSVertexBase_3 | |
| CPeriodic_3TriangulationTraits_3 | |
| CPeriodic_4HyperbolicDelaunayTriangulationTraits_2 | |
| CPeriodic_4HyperbolicTriangulationFaceBase_2 | |
| CPeriodic_4HyperbolicTriangulationTraits_2 | |
| CPeriodic_4HyperbolicTriangulationVertexBase_2 | |
| CPlacementFilter | |
| CPMPCorefinementVisitor | |
| CPMPDistanceTraits | |
| CPMPHolefillingVisitor | |
| CPMPPolygonSoupOrientationVisitor | |
| CPMPSelfIntersectionTraits | |
| CPMPTriangulateFaceVisitor | |
| CPoint_set_3 | |
| CPointGenerator | |
| CPointSetTraits | |
| CPolygon_2< Kernel, Containter > | |
| CPolygonalSchema | |
| CPolygonalSchemaItems | |
| CPolygonConvexDecomposition_2 | |
| CPolygonIsValid | |
| CPolygonOffsetBuilderTraits_2 | |
| CPolygonTraits_2 | |
| CPolygonWithHolesConvexDecomposition_2 | |
| CPolyhedral_mesh_domain_3< CGAL::Mesh_polyhedron_3< IGT >::type, IGT > | |
| CPolyhedral_mesh_domain_3< Polyhedron_, IGT_, CGAL::Default, int, Tag_true > | |
| CPolyhedronItems_3 | |
| CPolyhedronTraits_3 | |
| CPolylineSimplificationCostFunction | |
| CPolylineSimplificationStopPredicate | |
| CPolylineSimplificationVertexBase_2 | |
| CPolynomial_d | |
| CPolynomialTraits_d | |
| CPolytopeDistanceDTraits | |
| CPQQMask_3 | |
| CProjectionObject | |
| CPropertyGraph | Concept from the Boost Graph Library |
| CPTQMask_3 | |
| CQuadraticProgram | |
| CQuadraticProgramTraits | |
| CRandomAccessCirculator | |
| CRandomAccessContainer | This container concept refines ReversibleContainer and its iterator type is a model of RandomAccessIterator |
| CRandomAccessIterator | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/RandomAccessIterator |
| CRandomAccessRange | See https://www.boost.org/libs/range/doc/html/range/concepts/random_access_range.html |
| CRandomConvexHullTraits_2 | |
| CRandomConvexSetTraits_2 | |
| CRandomPolygonTraits_2 | |
| CRange | |
| CRangeSearchTraits | |
| CRangeSegmentTreeTraits_k | |
| CRawPoint_3 | |
| CReadablePropertyMap | See https://www.boost.org/libs/property_map/doc/ReadablePropertyMap.html |
| CReadWritePropertyMap | See https://www.boost.org/libs/property_map/doc/ReadWritePropertyMap.html |
| CRealEmbeddable | |
| CRealEmbeddableTraits | |
| CRectangularPCenterTraits_2 | |
| CRegionType | |
| CRegularTriangulationCellBase_3 | |
| CRegularTriangulationCellBaseWithWeightedCircumcenter_3 | |
| CRegularTriangulationFaceBase_2 | |
| CRegularTriangulationTraits | |
| CRegularTriangulationTraits_2 | |
| CRegularTriangulationTraits_3 | |
| CRegularTriangulationVertexBase_2 | |
| CRegularTriangulationVertexBase_3 | |
| CRemeshingCellBase_3 | |
| CRemeshingTriangulationTraits_3 | |
| CRemeshingVertexBase_3 | |
| CReversibleContainer | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/ReversibleContainer |
| CRingNumberType | |
| CRootOf_2 | |
| CSearchGeomTraits_2 | |
| CSearchGeomTraits_3 | |
| CSearchTraits | |
| CSegmentationGeomTraits | |
| CSegmentDelaunayGraphDataStructure_2 | |
| CSegmentDelaunayGraphFaceBase_2 | |
| CSegmentDelaunayGraphHierarchyVertexBase_2 | |
| CSegmentDelaunayGraphLinfTraits_2 | |
| CSegmentDelaunayGraphSite_2 | |
| CSegmentDelaunayGraphStorageSite_2 | |
| CSegmentDelaunayGraphStorageTraits_2 | |
| CSegmentDelaunayGraphTraits_2 | |
| CSegmentDelaunayGraphVertexBase_2 | |
| CSequenceContainer | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/SequenceContainer |
| CSimplicialMeshCellBase_3 | |
| CSimplicialMeshVertexBase_3 | |
| CSinglePassRange | See https://www.boost.org/libs/range/doc/html/range/concepts/single_pass_range.html |
| CSkinSurface_3 | |
| CSkinSurfaceTraits_3 | |
| CSnapRoundingTraits_2 | |
| CSortedMatrixSearchTraits | |
| CSparseLinearAlgebraTraits_d | |
| CSparseLinearAlgebraWithFactorTraits_d | |
| CSpatialSeparator | |
| CSpatialSortingTraits_2 | |
| CSpatialSortingTraits_3 | |
| CSpatialSortingTraits_d | |
| CSpatialTree | |
| CSphericalKernel | |
| CSplitter | |
| CSqrt3Mask_3 | |
| CStopPredicate | |
| CStraightSkeleton_2 | |
| CStraightSkeletonBuilder_2_Visitor | |
| CStraightSkeletonBuilderTraits_2 | |
| CStraightSkeletonFace_2 | |
| CStraightSkeletonHalfedge_2 | |
| CStraightSkeletonItemsConverter_2 | |
| CStraightSkeletonVertex_2 | |
| CStreamLinesTraits_2 | |
| CSubdivisionMask_3 | |
| CSublayer | |
| CSurface_3 | |
| CSurfaceMeshCellBase_3 | |
| CSurfaceMeshComplex_2InTriangulation_3 | |
| CSurfaceMeshDeformationWeights | |
| CSurfaceMeshFacetsCriteria_3 | |
| CSurfaceMeshShortestPathTraits | |
| CSurfaceMeshShortestPathVisitor | |
| CSurfaceMeshTraits_3 | |
| CSurfaceMeshTriangulation_3 | |
| CSurfaceMeshVertexBase_3 | |
| CSurjectiveLockDataStructure | |
| CSvdTraits | |
| CSwappable | Concept from the C++ standard. See https://en.cppreference.com/w/cpp/named_req/Swappable |
| CTriangleAccessor_3 | |
| CTriangulation< DelaunayTriangulationTraits_, TriangulationDataStructure_ > | |
| CTriangulation< Regular_triangulation_traits_adapter< RegularTriangulationTraits_ >, TriangulationDataStructure_ > | |
| CTriangulation_3< Traits, Delaunay_triangulation_3< Traits, TDS, LP >::Triangulation_data_structure, SLDS > | |
| CTriangulationCellBase_3 | |
| CTriangulationCellBaseWithInfo_3 | |
| CTriangulationDataStructure | |
| CTriangulationDataStructure_2 | |
| CTriangulationDataStructure_3 | |
| CTriangulationDSCellBase_3 | |
| CTriangulationDSFace | |
| CTriangulationDSFaceBase_2 | |
| CTriangulationDSFullCell | |
| CTriangulationDSVertex | |
| CTriangulationDSVertexBase_2 | |
| CTriangulationDSVertexBase_3 | |
| CTriangulationFaceBase_2 | |
| CTriangulationFullCell | |
| CTriangulationHierarchyVertexBase_2 | |
| CTriangulationOnSphereFaceBase_2 | |
| CTriangulationOnSphereTraits_2 | |
| CTriangulationOnSphereVertexBase_2 | |
| CTriangulationTraits | |
| CTriangulationTraits_2 | |
| CTriangulationTraits_3 | |
| CTriangulationVertex | |
| CTriangulationVertexBase_2 | |
| CTriangulationVertexBase_3 | |
| CTriangulationVertexBaseWithInfo_2 | |
| CTriangulationVertexBaseWithInfo_3 | |
| CUniqueFactorizationDomain | |
| CUniqueHashFunction | |
| Cunspecified_type | This indicates that the definition of a type nested in a class is not documented |
| CVector | |
| CVectorField_2 | |
| CVertexAndEdgeListGraph | Concept from the Boost Graph Library |
| CVertexListGraph | |
| CVisibility_2 | |
| CWeightedAlphaShapeTraits_2 | |
| CWeightedAlphaShapeTraits_3 | |
| CWeightedPoint | |
| CWeightFunctor | |
| CWidthTraits_3 | |
| CWritablePropertyMap | See https://www.boost.org/libs/property_map/doc/WritablePropertyMap.html |
| CYMonotonePartitionIsValidTraits_2 | |