1187
1187
// DOLFIN includes
1188
1188
#include <dolfin/common/NoDeleter.h>
1189
#include <dolfin/mesh/Restriction.h>
1189
1190
#include <dolfin/fem/FiniteElement.h>
1190
1191
#include <dolfin/fem/DofMap.h>
1191
1192
#include <dolfin/fem/Form.h>
1206
//--- Constructors for standard function space, 2 different versions ---
1208
// Create standard function space (reference version)
1205
1209
FunctionSpace(const dolfin::Mesh& mesh):
1206
1210
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
1207
1211
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1213
FunctionSpace(dolfin::Mesh& mesh):
1214
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(mesh),
1215
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1216
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new p1_dofmap_0()), mesh)))
1221
FunctionSpace(boost::shared_ptr<dolfin::Mesh> mesh):
1222
dolfin::FunctionSpace(mesh,
1223
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1224
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new p1_dofmap_0()), *mesh)))
1217
// Create standard function space (shared pointer version)
1229
1218
FunctionSpace(boost::shared_ptr<const dolfin::Mesh> mesh):
1230
1219
dolfin::FunctionSpace(mesh,
1231
1220
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1232
1221
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new p1_dofmap_0()), *mesh)))
1226
//--- Constructors for restricted function space, 2 different versions ---
1228
// Create restricted function space (reference version)
1229
FunctionSpace(const dolfin::Restriction& restriction):
1230
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(restriction.mesh()),
1231
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1232
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new p1_dofmap_0()),
1233
reference_to_no_delete_pointer(restriction))))
1238
// Create restricted function space (shared pointer version)
1239
FunctionSpace(boost::shared_ptr<const dolfin::Restriction> restriction):
1240
dolfin::FunctionSpace(dolfin::reference_to_no_delete_pointer(restriction->mesh()),
1241
boost::shared_ptr<const dolfin::FiniteElement>(new dolfin::FiniteElement(boost::shared_ptr<ufc::finite_element>(new p1_finite_element_0()))),
1242
boost::shared_ptr<const dolfin::DofMap>(new dolfin::DofMap(boost::shared_ptr<ufc::dofmap>(new p1_dofmap_0()),
1237
1249
~FunctionSpace()