inline unsigned field_scalars_per_entity(const FieldBase& f, const Bucket& b) { ThrowAssert(f.entity_rank() == b.entity_rank()); ThrowAssert(&f.get_mesh() == &b.mesh()); const unsigned bytes_per_scalar = f.data_traits().size_of; return f.get_meta_data_for_field()[b.bucket_id()].m_bytes_per_entity/bytes_per_scalar; }
inline bool field_is_allocated_for_bucket(const FieldBase& f, const Bucket& b) { ThrowAssert(&b.mesh() == &f.get_mesh()); //return true if field and bucket have the same rank and the field is associated with the bucket return (is_matching_rank(f, b) && 0 != f.get_meta_data_for_field()[b.bucket_id()].m_bytes_per_entity); }
inline unsigned field_bytes_per_entity(const FieldBase& f, const Bucket& b) { ThrowAssert(f.entity_rank() == b.entity_rank()); ThrowAssert(&f.get_mesh() == &b.mesh()); return f.get_meta_data_for_field()[b.bucket_id()].m_bytes_per_entity; }