---
name: "__gnu_cxx::binary_compose"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx::binary_compose/3cxx"
---

# \_\_gnu\_cxx::binary\_compose(3cxx)

An SGI extension .

## NAME

\_\_gnu\_cxx::binary\_compose\< \_Operation1, \_Operation2, \_Operation3 \> - An **SGI extension** .

## SYNOPSIS

`#include <functional>`

Inherits **std::unary\_function\< \_Operation2::argument\_type, \_Operation1::result\_type \>**.

### Public Types

typedef \_Operation2::argument\_type **argument\_type**\
 `argument_type` is the type of the argument  typedef \_Operation1::result\_type **result\_type**\
 `result_type` is the return type

### Public Member Functions

**binary\_compose** (const \_Operation1 &\_\_x, const \_Operation2 &\_\_y, const \_Operation3 &\_\_z)\
 \_Operation1::result\_type **operator()** (const typename \_Operation2::argument\_type &\_\_x) const\

### Protected Attributes

\_Operation1 **\_M\_fn1**\
 \_Operation2 **\_M\_fn2**\
 \_Operation3 **\_M\_fn3**\

## Detailed Description

### template\<class \_Operation1, class \_Operation2, class \_Operation3\>

class \_\_gnu\_cxx::binary\_compose\< \_Operation1, \_Operation2, \_Operation3 \>"An **SGI extension** .

## Member Typedef Documentation

### typedef \_Operation2::argument\_type std::unary\_function\< \_Operation2::argument\_type , \_Operation1::result\_type \>::argument\_type` [inherited]`

`argument_type` is the type of the argument

### typedef \_Operation1::result\_type std::unary\_function\< \_Operation2::argument\_type , \_Operation1::result\_type \>::result\_type` [inherited]`

`result_type` is the return type

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
