# fidl::ServerBindingGroup

## Summary

### Inheritance

Inherits from: fidl::internal::ServerBindingGroupBase\< FidlProtocol, internal::ChannelTransport \>

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1ab2386be26d36cc5844924ff66bf0bf39()` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1ab0ab9928a4329bff8c1a04a6ffb3dc13(const https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &)` ||
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a02f38ec5f600b1644c26e0fced668bf7(https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &&)` ||

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a77c69cb568f39a4e41d85448366bfec2(async_dispatcher_t *dispatcher, https://fuchsia.dev/reference/cpp/other/singletonfidl/server-end#singletonfidl_1_1_server_end< FidlProtocol > server_end, ServerImpl *impl, CloseHandler && close_handler)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1ab8c1ae670253e181bc04a6c209f475f5(zx_status_t epitaph_value)` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a128b8ba95ce14ee49e9f9a49580e3622(const ServerImpl *impl, zx_status_t epitaph_value)` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a7b588ec43985815b2a603cc7cafddd15(ServerImpl *impl, async_dispatcher_t *dispatcher, CloseHandler && close_handler)` | `fidl::ProtocolHandler< FidlProtocol >` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1aaeecbc77d7073ee3478694695a62689b(https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl< void(const Binding &)> visitor)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a50fc8aaa272f313fb91df2118a1e358b()` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1aed6434ab8c8e208822ca6ab4427dcc97(const ServerImpl *impl)` | `bool` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1acb67f5121f41b1f837ca3fac0bdf616f(const https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &)=delete` | `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1aaefec46293b6d3b30b01e2d1287957d4(https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &&)=delete` | `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group &` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a824ca72182c9fc4161269e1a1c3fda93(https://fuchsia.dev/reference/cpp/class/fit/function-impl#classfit_1_1function__impl empty_set_handler)` | `void` |
| `https://fuchsia.dev/reference/cpp/class/fidl/server-binding-group#classfidl_1_1_server_binding_group_1a85c3dbcc58e9d90346434e73538702d3() const ` | `size_t` |

## Public functions

### AddBinding

```c++
void AddBinding(
  async_dispatcher_t *dispatcher,
  fidl::ServerEnd< FidlProtocol > server_end,
  ServerImpl *impl,
  CloseHandler && close_handler
)
```

### CloseAll

```c++
bool CloseAll(
  zx_status_t epitaph_value
)
```

### CloseBindings

```c++
bool CloseBindings(
  const ServerImpl *impl,
  zx_status_t epitaph_value
)
```

### CreateHandler

```c++
fidl::ProtocolHandler< FidlProtocol > CreateHandler(
  ServerImpl *impl,
  async_dispatcher_t *dispatcher,
  CloseHandler && close_handler
)
```

### ForEachBinding

```c++
void ForEachBinding(
  fit::function< void(const Binding &)> visitor
)
```

### RemoveAll

```c++
bool RemoveAll()
```

### RemoveBindings

```c++
bool RemoveBindings(
  const ServerImpl *impl
)
```

### ServerBindingGroup

```c++
 ServerBindingGroup()=default
```

### ServerBindingGroup

```c++
 ServerBindingGroup(
  const ServerBindingGroup &
)=delete
```

### ServerBindingGroup

```c++
 ServerBindingGroup(
  ServerBindingGroup &&
)=delete
```

### operator=

```c++
ServerBindingGroup & operator=(
  const ServerBindingGroup &
)=delete
```

### operator=

```c++
ServerBindingGroup & operator=(
  ServerBindingGroup &&
)=delete
```

### set_empty_set_handler

```c++
void set_empty_set_handler(
  fit::closure empty_set_handler
)
```

### size

```c++
size_t size() const 
```