fopen의 mode 형식매개변수는 fstream open 함수에서 두 번째 매개변수에 어떻게 언급해줘야 하나요?

dltkddyd의 이미지

fopen 함수의 원형이 다음과 같고,

FILE * fopen ( const char * filename, const char * mode );

mode 형식매개변수에

"r" "w" "a" "r+" "w+" "a+" "rb+" "wb+" "ab+"

를 값으로 전달할 수 있다고 하는데,

이 각 mode의 의미는 무엇이고, fstream 객체의 open 함수의 두 번째 매개변수에서는 이 각각의 모드를 어떻게 표현해서 전달하는지 궁급합니다.
자료를 찾다보니 fstream의 open 함수 원형은 다음과 같다는군요.

void open (const char* filename,
ios_base::openmode mode = ios_base::in | ios_base::out);

여기서 mode에 허용되는 상수값은

io_base::in io_base::out io_base::binary io_base::ate io_base::app io_base::trunc

라고 하네요. 그리고 이것들을 | 연산할 수 있다고 그럽니다.

어떤 식으로 저것들을 조합해야 "r", "w" 등 각각의 모두를 표현할 수 있을까요?