Lines Matching defs:Group
246 pub struct Group<Data> {
253 impl<Data> Group<Data> {
260 item_type: &'static ItemType<Group<Data>, Data>,
278 // SAFETY: `Group<Data>` embeds a field of type `bindings::config_group`
280 unsafe impl<Data> HasGroup<Data> for Group<Data> {
303 /// `Group<Parent>`.
315 // `Group<Parent>`.
316 unsafe { &(*Group::<Parent>::container_of(this)).data }
337 /// `Group<Parent>`.
362 let child_group = <Arc<Group<Child>> as InPlaceInit<Group<Child>>>::try_pin_init(
371 // `Group<Child>`.
372 unsafe { Group::<Child>::group(child_group_ptr) }.cast_mut()
382 /// `Group<Parent>`.
389 /// `bindings::config_group` within a `Group<Child>`.
402 // embedded within a `Group<Child>`.
403 let r_child_group_ptr = unsafe { Group::<Child>::container_of(c_child_group_ptr) };
408 let arc: Arc<Group<Child>> = unsafe { Arc::from_raw(r_child_group_ptr.cast_mut()) };
435 impl<Data> ItemOperationsVTable<Group<Data>, Data>
442 /// `Group<Parent>`.
451 // embedded within a `Group<Data>`.
452 let r_group_ptr = unsafe { Group::<Data>::container_of(c_group_ptr) };
456 let pin_self: Arc<Group<Data>> = unsafe { Arc::from_raw(r_group_ptr.cast_mut()) };
485 /// Implement this trait on structs that embed a [`Subsystem`] or a [`Group`].
500 /// return an initializer of a `Group<Self::Child>`. To prevent creation,
502 fn make_group(&self, name: &CStr) -> Result<impl PinInit<Group<Self::Child>, Error>>;
514 fn drop_item(&self, _child: ArcBorrow<'_, Group<Self::Child>>) {
544 /// the group must be embedded in a `Group<Data>`.
577 /// the group must be embedded in a `Group<Data>`.
671 /// [`Attribute`] that will appear in the directory representing a [`Group`].
724 /// A representation of the attributes that will appear in a [`Group`] or
729 /// shape of a [`Group`] or [`Subsystem`].
788 impl_item_type!(Group<Data>);